摘要:題目要求翻譯過來就是將鏈表中相鄰兩個節點交換順序,并返回最終的頭節點。思路這題的核心解題思路在于如何不占用額外的存儲空間,就改變節點之間的關系。
題目要求
Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should return the list as 2->1->4->3. Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
翻譯過來就是:將鏈表中相鄰兩個節點交換順序,并返回最終的頭節點。
思路這題的核心解題思路在于如何不占用額外的存儲空間,就改變節點之間的關系。我們設置了一個節點pre,為當前一個節點的前一個節點
public ListNode swapPairs(ListNode head) { ListNode start = new ListNode(0); start.next = head; ListNode pre = start; while(head!=null && head.next!=null){ pre.next = head.next; head.next = pre.next.next; pre.next.next = head; pre = pre.next.next; head = pre.next; } return start.next; }
想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號!將會不定期的發放福利哦~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67080.html
摘要:最后返回頭節點。同時題目要求只能占用常數空間,并且不能改變節點的值,改變的是節點本身的位置。翻轉是以兩個節點為單位的,我們新聲明一個節點表示當前操作到的位置。每次操作結束,將指針后移兩個節點即可。執行操作前要確定操作的兩個節點不為空。 題目詳情 Given a linked list, swap every two adjacent nodes and return its head....
摘要:三指針法復雜度時間空間思路基本的操作鏈表,見注釋。注意使用頭節點方便操作頭節點。翻轉后,開頭節點就成了最后一個節點。 Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should ...
摘要:注意這里,只要走到第位 Swap Nodes in Pairs For example,Given 1->2->3->4, you should return the list as 2->1->4->3. Solution public class Solution { public ListNode swapPairs(ListNode head) { if...
摘要:不同鏈表是鏈式的存儲結構數組是順序的存儲結構。從列表中,移除并返回特定位置的一項。返回列表中元素個數,與數組的屬性類似。提示端優先使用以上的語法實現。不要忘記在最后返回新的頭引用復雜度分析時間復雜度。假設是列表的長度,時間復雜度是。 這是第三周的練習題,原本應該先發第二周的,因為周末的時候,我的母親大人來看望她的寶貝兒子,哈哈,我得帶她看看廈門這座美麗的城市呀。 這兩天我抓緊整...
閱讀 885·2021-10-27 14:19
閱讀 1102·2021-10-15 09:42
閱讀 1526·2021-09-14 18:02
閱讀 738·2019-08-30 13:09
閱讀 2981·2019-08-29 15:08
閱讀 2084·2019-08-28 18:05
閱讀 948·2019-08-26 10:25
閱讀 2777·2019-08-23 16:28