LeetCode24 兩兩交換鍊錶中的節點

2021-10-03 11:08:04 字數 726 閱讀 3979

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

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

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

*//*

先宣告乙個虛擬節點dummyhead指向頭結點,之後讓p指向dummyhead,node1指向p->next,node2指向p->next->next,讓next指向node2->next;之後讓node2的next指向node1,讓node1的next指向next,之後調整p的位置即可

p node1 node2 next

1 -> 2 -> 3 -> 4 -> 5 -> null

讓node2的next指向node1,node1的next指向next,p的next指向node2,讓p等於node1

p node1 node2 next

1 <- 2 -> 3 -> 4 -> 5 -> null

\ /

\ /

\node2 node1

p next

2 -> 1 -> 3 -> 4 -> 5 -> null

*/class

solution

return dummynode-

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