題目描述:
我的思路:
由題目描述可知,題目是要求將第乙個與第二個節點,第三個與第四節點....進行交換,而進行交換時只用將節點的值進行交換即可。需要注意的是:當鍊表為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,最後發現應該是在鍊錶的最後的...