LintCode之兩兩交換鍊錶中的節點

2022-08-27 02:21:12 字數 763 閱讀 7504

題目描述:

我的思路:

由題目描述可知,題目是要求將第乙個與第二個節點,第三個與第四節點....進行交換,而進行交換時只用將節點的值進行交換即可。需要注意的是:當鍊表為null或者當鍊表只有乙個節點時就沒有可進行交換的另乙個節點,就可以直接將該鍊錶返回。

我的**:

1

/**2

* definition for singly-linked list.

3* public class listnode

7* }8*/

91011public

class

solution

21if(head.next == null

) 24 listnode h =head;

25 listnode p =head.next;

26while(p != null

) else37}

38return

h;39

}40 }

以上面的例題為例:

LintCode 兩兩交換鍊錶中的節點

題目描述 給乙個鍊錶,兩兩交換其中的節點,然後返回交換後的鍊錶。樣例 給出 1 2 3 4,你應該返回的鍊錶是 2 1 4 3。思路分析 這個題直接 更改每個結點的 val值就行了,沒必要改變 結點的 邏輯順序。我用的乙個陣列儲存下來每個結點的val值就好了 泡泡一直在這裡糾結這個 邏輯順序。搞不懂...

LintCode 兩兩交換鍊錶中的節點

1.描述 給乙個鍊錶,兩兩交換其中的節點,然後返回交換後的鍊錶。樣例 給出1 2 3 4,你應該返回的鍊錶是2 1 4 3。2.分析 假設鍊錶中原有的元素為1 2 3 4 5,那麼得到的是2 1 4 3 5,實質上是把第一第二元素互換,第三第四元素互換,以此類推。如果用乙個 陣列把這些元素存起來,那...

Lintcode 451 兩兩交換鍊錶中的節點

1.問題描述 給乙個鍊錶,兩兩交換其中的節點,然後返回交換後的鍊錶。2.思路 兩兩交換兩個節點資料域所存放的資料元素 3.通過的 4.感想 剛開始的時候自己一直希望通過改指標指向來改變兩個節點的順序,自己的 自己用畫鍊錶圖來驗證也是沒錯,但一直是wrong answer,最後發現應該是在鍊錶的最後的...