您的位置:首页 > 职场人生

单链表的翻转

2016-04-29 10:47 344 查看
思路:遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。

public ListNode ReverseList(ListNode head) {
if(head == null){
return head;
}
ListNode p1 = head;
ListNode p2 = head.next;
ListNode p3;
while(p2!=null){
p3 = p2.next;
p2.next = p1;
p1 = p2;
p2 = p3;
}
head.next = null;
head = p1;
return head;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息