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

2021-10-09 05:17:21 字數 1046 閱讀 6580

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

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

示例:

給定 1->2->3->4, 你應該返回 2->1->4->3.
先寫交換2個節點的方法,然後再對原始鍊錶兩兩交換。方法和k 個一組翻轉鍊錶基本差不多

# definition for singly-linked list.

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class

solution

:def

(self, head: listnode)

-> listnode:

defswap2nodes

(head: listnode, end: listnode)

-> listnode:

end_next = end.

next

end.

next

= head

head.

next

= end_next

return end

ret_head = listnode(-1

) ret_head.

next

= head

p = ret_head

while p.

next

and p.

next

.next

: p.

next

= swap2nodes(p.

next

, p.

next

.next

) p = p.

next

.next

return ret_head.

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...