Reverse Linked List
Reverse a singly linked list.
click to show more hints.
Hint:
A linked list can be reversed either iteratively or recursively. Could you implement both?
非遞歸
public class Solution { public ListNode reverseList(ListNode head) { if(head==null||head.next==null) return head; ListNode p=head,q=head.next,next=null; head.next=null; while(q!=null){ next=q.next; q.next=p; p=q; q=next; } return p; } }
2.遞歸
public class Solution { public ListNode reverseList(ListNode head) { if(head==null||head.next==null) return head; ListNode tmp=reverseList(head.next); head.next.next=head; head.next=null; return tmp; } }
Reverse Linked List II
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4, return 1->4->3->2->5->NULL.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
代碼
public class Solution { public ListNode reverseBetween(ListNode head, int m, int n) { if(head==null||head.next==null) return head; ListNode dummy=new ListNode(0); dummy.next=head; ListNode pre=dummy,p=head; int count=1; while(count
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69822.html
Reverse Linked List Reverse a singly linked list. Note Create tail = null; Head loop through the list: Store head.next, head points to tail, tail becomes head, head goes to stored head.next; Return t...
摘要:題目要求將鏈表中從第個(gè)節(jié)點(diǎn)開始翻轉(zhuǎn)至第個(gè)節(jié)點(diǎn)結(jié)束。要求在第一次遍歷中即完成該過程。將從第一個(gè)該節(jié)點(diǎn)開始依次插入最后一個(gè)節(jié)點(diǎn)后面直到遇到最后一個(gè)節(jié)點(diǎn)。最后我們還需要一個(gè)節(jié)點(diǎn)來標(biāo)記整個(gè)鏈表的起始節(jié)點(diǎn)。 題目要求 Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: ...
摘要:在線網(wǎng)站地址我的微信公眾號(hào)完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個(gè)題。這是項(xiàng)目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語(yǔ)言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號(hào): showImg(htt...
摘要:先跳過前個(gè)節(jié)點(diǎn),然后初始化好這五個(gè)指針后,用中的方法反轉(zhuǎn)鏈表。完成了第個(gè)節(jié)點(diǎn)的反轉(zhuǎn)后,將子鏈反轉(zhuǎn)前的頭節(jié)點(diǎn)的設(shè)為子鏈反轉(zhuǎn)過程中的下一個(gè)節(jié)點(diǎn),將子鏈反轉(zhuǎn)前頭節(jié)點(diǎn)前面一個(gè)節(jié)點(diǎn)的設(shè)為子鏈反轉(zhuǎn)過程中的當(dāng)前節(jié)點(diǎn)。 Reverse Linked List I Reverse a singly linked list. click to show more hints. Hint: A linke...
摘要:月下半旬攻略道題,目前已攻略題。目前簡(jiǎn)單難度攻略已經(jīng)到題,所以后面會(huì)調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時(shí),攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區(qū)別...
閱讀 1346·2021-11-15 11:37
閱讀 2225·2021-09-23 11:21
閱讀 1309·2019-08-30 15:55
閱讀 2116·2019-08-30 15:55
閱讀 2825·2019-08-30 15:52
閱讀 2830·2019-08-30 11:12
閱讀 1583·2019-08-29 18:45
閱讀 1897·2019-08-29 14:04