給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。
package com.leetcode.鍊錶;
/** * author:markuszhang
* vm args:
* date:create in 2020/2/2 15:23
*/public
class 兩兩交換鍊錶中的節點
public
listnode
(int val)
//迭代方式
(listnode head)
listnode prevnode =
newlistnode(-
1); prevnode.next = head;
listnode pnode = prevnode;
while
(head!=null && head.next!=null)
return prevnode.next;
}//遞迴方式
(listnode head)
listnode firstnode = head;
listnode secondnode = head.next;
firstnode.next =
(secondnode.next)
; secondnode.next = firstnode;
return secondnode;}}
}
leetcode演算法題24 兩兩交換鍊錶中的節點
給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。輸入 head 1,2,3,4 輸出 2,1,4,3 輸入 head 輸出 輸入 head 1 輸出 1 思路一 這個題是基本的鍊錶操作題,可以採取迭代的方法實現,先建立 dumm...
經典演算法題 兩兩反轉鍊錶中的節點
來自leetcode 24 這道題我們需要使用三個指標,除了指向相鄰的兩個元素外,還需要指向相鄰兩個元素的前乙個元素 在開頭設定好pre和pre.next,然後執行迴圈,把a,b挑出來,然後把next指標進行調換,即把a b換成b a,同時更新pre指標 首先看到最後 return self.nex...
兩兩交換鍊錶中的節點 leetcode
leetcode位址 兩兩交換鍊錶中的節點 使用兩種方法,迭代和遞迴 這是使用的節點類 public class listnode listnode int val listnode int val,listnode next 判斷是否滿足條件,這裡的條件設定為鍊錶的個數是否為偶數,判斷方法為利用當...