**
package q24;
public
class
listnode
public
static listnode createlink
(int[
] arr)
listnode head =
newlistnode
(arr[0]
);listnode pnode = head;
for(int i =
1; i < arr.length; i++
)return head;
}public
static
void
outputlink
(listnode head)
system.out.
println();}}
package q24;
public
class
solution
//指向三個節點
listnode prenode =
null
; listnode curnode = head;
listnode nextnode = curnode.next;
//若只有乙個節點
if(nextnode ==
null
)//若有多個節點
while
(nextnode !=
null
) curnode.next = prenode;
return curnode;
}}
package q24;
public
class
; listnode head = listnode.
createlink
(nodearr1)
; listnode.
outputlink
(head)
; listnode head2 = s.
reverselist
(head)
; listnode.
outputlink
(head2)
;//乙個節點的情況
int[
] nodearr2 =
; head = listnode.
createlink
(nodearr2)
; listnode.
outputlink
(head)
; head2 = s.
reverselist
(head)
; listnode.
outputlink
(head2)
;//多個節點的情況
2 4 劍指offer 反轉鍊錶
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。迭代法 畫圖模擬,發現需要三個指標來完成反轉,需要儲存下乙個節點,因為反轉後會丟失和後面節點的連線。注意頭節點的next要變成none 尾節點 返回節點是原來的尾節點。遞迴法 新建乙個頭節點指向尾節點的,每次遞迴返回值不變。每次遞迴傳入的節點phead是此...
劍指Offer 24 反轉鍊錶
定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。例 輸入 1 2 3 4 5 none 輸出 5 4 3 2 1 none 雙指標遍歷鍊錶,將當前節點的next設為前乙個節點。注意儲存當前節點的next來遍歷。時間複雜度 o n 空間複雜度 o 1 def reverse l...
劍指offer24 反轉鍊錶
定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。樣例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null思路 初始化乙個新的頭節點new head,然後用尾插法把原始鍊錶中的結點插入新的頭節點。最後return new head next.acwing 3...