您的位置:首页 > 其它

翻转链表

2014-08-12 23:45 197 查看
翻转链表有很多方法:在翻转时1.采用头插法,2.尾插法,3.递归翻转法

翻转时头插法:

public ListNode reverseList(ListNode head) {
if (head.next == null || head == null) {
return head;
}
ListNode ret = null;// 结果链表头结点
ListNode cur = head;// 遍历
while (cur != null) {
if (ret == null) {
ListNode tmp = cur.next;// 原链表摘下来的节点
cur.next = null;
ret = cur;
cur = tmp;
} else {
ListNode tmp = cur.next;
cur.next = ret;
ret = cur;
cur = tmp;
}
}
return ret;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: