当前位置: 首页 > 面试题库 >

请你手写链表反转

景翰音
2023-03-14
本文向大家介绍请你手写链表反转相关面试题,主要包含被问及请你手写链表反转时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :val(x), next(NULL) {}
}
ListNode* ReverseList(ListNode* pHead)
{
if(!pHead||!pHead->next)return pHead;
ListNode *pre=nullptr;
ListNode *p=pHead;
ListNode *next=pHead->next;
while(p)
{
p->next=pre;
pre=p;
p=next;
if(next)
next=next->next;
}
return pre;
}

 

 类似资料:
  • 本文向大家介绍手写代码:反转链表相关面试题,主要包含被问及手写代码:反转链表时的应答技巧和注意事项,需要的朋友参考一下 参考回答:  

  • 本文向大家介绍手写代码:反转链表 (Java 版)相关面试题,主要包含被问及手写代码:反转链表 (Java 版)时的应答技巧和注意事项,需要的朋友参考一下 参考回答:  

  • 本文向大家介绍请你手写代码,如何合并两个有序链表相关面试题,主要包含被问及请你手写代码,如何合并两个有序链表时的应答技巧和注意事项,需要的朋友参考一下 参考回答:  

  • 本文向大家介绍请你手写一下单例模式?相关面试题,主要包含被问及请你手写一下单例模式?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1、饿汉模式 这种方式在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快。这种方式基于类加载机制避免了多线程的同步问题,但是也不能确定有其他的方式(或者其他的静态方法)导致类装载,这时候初始化instance显然没有达到懒加载的效果。 2、懒汉模式(

  • 本文向大家介绍判断一个链表是否为回文链表,说出你的思路并手写代码相关面试题,主要包含被问及判断一个链表是否为回文链表,说出你的思路并手写代码时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 思路:使用栈存储链表前半部分,然后一个个出栈,与后半部分元素比较,如果链表长度未知,可以使用快慢指针的方法,将慢指针指向的元素入栈,然后如果快指针指向了链表尾部,此时慢指针指向了链表中间  

  • 本文向大家介绍请你来手写一下fork调用示例相关面试题,主要包含被问及请你来手写一下fork调用示例时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1、概念: Fork:创建一个和当前进程映像一样的进程可以通过fork( )系统调用: 成功调用fork( )会创建一个新的进程,它几乎与调用fork( )的进程一模一样,这两个进程都会继续运行。在子进程中,成功的fork( )调用会返回0。在