您的位置:首页 > 其它

单链表翻转

2015-07-05 17:15 288 查看
/*
* three argvs: headNext(the head's next), tmp(move forward), node(the removed ListNode).
*/
public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode headNext = head.next;
ListNode tmp = headNext;
while (tmp.next != null) {
ListNode node = tmp.next;
tmp.next = node.next;
head.next = node;
node.next = headNext;

headNext = head.next;
}
ListNode newHead = head.next;
head.next = null;
tmp.next = head;
return newHead;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: