本文主要是介绍原地逆置列表reverseList,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
非常厉害的列表逆置方法:
//逆置单链表,原地操作,只需要遍历一遍
private ListNode reverse(ListNode head)
{ListNode pre = null;ListNode cur = head;while(cur!=null){ListNode temp = cur.next;cur.next = pre;pre = cur;cur = temp;}return pre;
}
第一步:保留temp节点
第二步:下一节点指向pre
第三步:pre后移
第四步:当前节点(cur)后移
一次遍历只能置换一个节点,如:第一次置换首节点和空,第二次置换首节点和第二个节点,一次类推
这篇关于原地逆置列表reverseList的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!