如何实现反转链表的操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计399个文字,预计阅读时间需要2分钟。
一、题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
二、思路:
1.传统方法:定义三个指针变量pre、cur、next,分别指向当前节点的前一个节点、当前节点和下一个节点。遍历链表,逐步反转指针指向,最后返回反转后的头节点。
python
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
二、思路1.传统方法
定义三个指针变量,pre(指向当前遍历指针的前一个节点),temp(在断开之前记录当前节点的next),curr(当前遍历指针),
令curr的next往前指向pre,然后pre与curr往前移动
2.ES6解构赋值法
[curr.next,pre,curr]=[pre,curr,curr.next]
三、程序实现方法1:传统方法
var reverseList = function(head) {
let pre=null;
let curr=head;
while(curr){
//断开之前记录位置
temp=curr.next
//当前节点的next往前指
curr.next=pre;
//指针移动
pre=curr;
curr=temp;
}
//pre指针到了反转链表的头部,返回即可
return pre;
};
方法2:ES6解构赋值法
var reverseList = function(head) {
let pre=null;
let curr=head;
while(curr){
[curr.next,pre,curr]=[pre,curr,curr.next]
}
//pre指针到了反转链表的头部,返回即可
return pre;
};
本文共计399个文字,预计阅读时间需要2分钟。
一、题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
二、思路:
1.传统方法:定义三个指针变量pre、cur、next,分别指向当前节点的前一个节点、当前节点和下一个节点。遍历链表,逐步反转指针指向,最后返回反转后的头节点。
python
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
二、思路1.传统方法
定义三个指针变量,pre(指向当前遍历指针的前一个节点),temp(在断开之前记录当前节点的next),curr(当前遍历指针),
令curr的next往前指向pre,然后pre与curr往前移动
2.ES6解构赋值法
[curr.next,pre,curr]=[pre,curr,curr.next]
三、程序实现方法1:传统方法
var reverseList = function(head) {
let pre=null;
let curr=head;
while(curr){
//断开之前记录位置
temp=curr.next
//当前节点的next往前指
curr.next=pre;
//指针移动
pre=curr;
curr=temp;
}
//pre指针到了反转链表的头部,返回即可
return pre;
};
方法2:ES6解构赋值法
var reverseList = function(head) {
let pre=null;
let curr=head;
while(curr){
[curr.next,pre,curr]=[pre,curr,curr.next]
}
//pre指针到了反转链表的头部,返回即可
return pre;
};

