leetcode演算法題 鍊錶 兩兩交換鍊錶中的節點

2021-10-02 12:13:19 字數 824 閱讀 4753

給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。

你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。

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 判斷是否滿足條件,這裡的條件設定為鍊錶的個數是否為偶數,判斷方法為利用當...