LeetCode 24 兩兩交換鍊錶中的節點

2022-07-25 11:12:16 字數 602 閱讀 2138

傳送門:[leetcode] 24. 兩兩交換鍊錶中的節點

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

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

示例 :

給定 1->2->3->4, 你應該返回 2->1->4->3.

鍊錶定義如下:

public class listnode 

}

**:

class solution 

listnode newhead = head.next;

newhead.next = head;

return newhead;

}}

**:

class solution 

return dumb.next;

}}

個人覺得遞迴法很好理解,反而是迭代法有點繞,不過畫一下圖也就清楚了。

我發現,遞迴結束的條件和迭代進行的條件又是剛好相反。

LeetCode 24兩兩交換鍊錶的節點

給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 給定 1 2 3 4,你應該返回 2 1 4 3.class solution listnode next head.next head.next next.next 指向下...

leetcode24 兩兩交換鍊錶中的節點

給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。示例 給定 1 2 3 4,你應該返回 2 1 4 3.說明 你的演算法只能使用常數的額外空間。你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。注意while裡tmp1和tmp2已經交換了,所以node tmp1 definit...

leetcode 24 兩兩交換鍊錶中的節點

給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。示例 給定 1 2 3 4,你應該返回 2 1 4 3.複製 說明 listnode definition for singly linked list.type listnode struct func head listnode list...