前言:
现在各位老铁们对“链表逆转示意图详细”都比较看重,咱们都需要剖析一些“链表逆转示意图详细”的相关资讯。那么小编同时在网络上搜集了一些关于“链表逆转示意图详细””的相关文章,希望朋友们能喜欢,你们一起来了解一下吧!反转链表
定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
思考题:
请同时实现迭代版本和递归版本。
样例输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL迭代
时间复杂度O(n)
class Solution { public ListNode reverseList(ListNode head) { if(head == null){ return null; } ListNode res = null; while(head != null){ if(res == null){ res = new ListNode(head.val); }else{ ListNode list1 = new ListNode(head.val); list1.next = res; res = list1; } head = head.next; } return res; }}递归
时间复杂度O(n)
class Solution { public ListNode reverseList(ListNode head) { if (head == null || head.next == null){ return head; } ListNode node= reverseList(head.next); head.next.next=head; head.next=null; //每次递归都返回最后一个结点 return node; }}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。