我有下面的代碼來使用Swift顛倒雙鏈表。不過,我很困惑swap
函數是否將currentNode
與相鄰的節點交換?還是交換它的兩個相鄰節點?使用Swift顛倒雙鏈表
示例: 鏈表值表示: 1 - > 2 - > 3
是它在第一次運行交換1和2?還是交換1和3?哪些值在第一次運行時被交換?
public func reverse() {
var node = head
while let currentNode = node {
node = currentNode.next
swap(¤tNode.next, ¤tNode.previous)
head = currentNode
}
}
但在第一次運行時,不是A.prev = null? –
@ Maria9905它是。當你交換值時,你會得到A.next = null - 因爲你的第一個元素成爲你的最後一個元素。 – algrid