Reverse Linked List
Reverse a singly linked list.
NoteCreate tail = null;
Head loop through the list: Store head.next, head points to tail, tail becomes head, head goes to stored head.next;
Return tail.
Solutionpublic class Solution { public ListNode reverseList(ListNode head) { ListNode tail = null; while (head != null) { ListNode temp = head.next; head.next = tail; tail = head; head = temp; } return tail; } }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) return null; ListNode dummy = new ListNode(0); dummy.next = head; ListNode pre = dummy; int i = 0; while (i++ < m-1) {//注意這里,pre只要走到第m-1位 pre = pre.next; } ListNode cur = pre.next; ListNode next = pre.next.next; for (i = 0; i < n-m; i++) { cur.next = next.next; next.next = pre.next; pre.next = next; next = cur.next; } return dummy.next; } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/65187.html
摘要:題目要求將鏈表中從第個(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: ...
摘要:題目要求這道題目要求判斷一個(gè)鏈表中是否有環(huán),如果有環(huán),就返回環(huán)中的第一個(gè)節(jié)點(diǎn)。如果有環(huán),就會(huì)重復(fù)遇到這個(gè)指向的節(jié)點(diǎn)。則該鏈表有環(huán),且該節(jié)點(diǎn)就是環(huán)的起始節(jié)點(diǎn)。但是這個(gè)方法會(huì)毀壞原來鏈表的數(shù)據(jù)結(jié)構(gòu)。 題目要求 Given a linked list, return the node where the cycle begins. If there is no cycle, return n...
摘要:在線網(wǎng)站地址我的微信公眾號(hào)完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個(gè)題。這是項(xiàng)目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號(hào): showImg(htt...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經(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ū)別...
摘要:先跳過前個(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...
閱讀 1963·2021-11-25 09:43
閱讀 1964·2019-08-30 13:56
閱讀 1226·2019-08-30 12:58
閱讀 3431·2019-08-29 13:52
閱讀 761·2019-08-26 12:17
閱讀 1467·2019-08-26 11:32
閱讀 944·2019-08-23 13:50
閱讀 1308·2019-08-23 11:53