15 反轉鍊錶後,輸出新鍊錶的表頭

2021-09-22 12:23:31 字數 806 閱讀 5722

解答:定義乙個頭結點head,定義乙個pre結點為null,定義乙個next結點為null。首先讓next=head.next;這樣儲存了head結點下乙個結點的資訊。然後head.next=pre,讓頭結點指向了pre結點。然後將指標往後移一位,pre=head,head=next,再繼續執行上面操作,最後得到反轉的鍊錶。

public

class

test15

return pre;

}//遞迴方法

public listnode reverselist3

(listnode head)

listnode temp = head.next;

listnode newhead =

reverselist3

(temp)

; temp.next = head;

head.next = null;

return newhead;

}//需要額外的記憶體

public listnode reverselist2

(listnode head)

listnode temp = head;

stack

stack =

newstack

<

>()

;while

(temp != null)

listnode temp2 = head;

while

(temp2 != null)

return head;

}}

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭

方法一 利用三個指標進行反轉 注 考慮鍊錶斷開問題 頭結點為null 有乙個頭結點 listnode reverselist listnode phead listnode newphead null listnode node phead listnode pre null listnode ne...

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭

可以採用迭代法 new 乙個值為null 的新鍊錶,然後new乙個臨時temp鍊錶,這個temp主要用來head.next 與head之間的替換 首先讓head.next指向為null的新鍊錶 反轉後head為鍊錶末尾,head的後面為null才對 然後讓新鍊錶指向head,這樣null的上家就變成...

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。

題目 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。分析 方法 1 更改next指標域法。當沒有節點或者只有乙個結點時,直接返回這個節點 否則至少有兩個節點時,用三個指標n1,n2,n3,n1指向第乙個節點,n2指向第二個節點,n3指向第三節點 可能為空 每次修改n2的next讓其指向n1,然後利用n...