反转链表
反转链表
http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca
思路:双指针+辅助指针,具体如下:定义help1和help2分别指向头节点和头节点的下一个节点,需要做的就是让help2指向下一个节点,辅助指针保存help2的信息,并指向help1,最后help1存贮temp的节点信息,循环条件就是help2不为null
代码
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head==null||head.next==null) return head;
ListNode help1 = head;
ListNode help2 = head.next;
while(help2!=null){
ListNode temp = help2;
help2 = help2.next;
temp.next = help1;
help1 = temp;
}
head.next = null;
return help1;
}
}