鍊錶反轉的兩個方法 迭代和遞迴

2021-09-28 11:15:22 字數 355 閱讀 2454

記錄鍊錶中的三個連續節點:reverse ,first,second。在每輪迭代中,從原煉表中提取first並將它插入逆鍊錶的開頭。一直保持first指向原鍊錶剩餘節點的首節點,second指向原鍊錶剩餘節點的第二個節點,reverse指向逆鍊錶的首節點

public node reverse

(node x)

return reverse;

}

假設含有n個節點,先遞迴顛倒最後n-1個節點,然後將鍊錶的首節點插入到結果的鍊錶的末端

public node reverse

(node first)

206 反轉鍊錶(兩種方法 迭代和遞迴)

解題思路 1.迭代 建立乙個新的鍊錶的啞巴節點root,建立乙個過度指標n,使用頭插法將head鍊錶中的元素取出插入root鍊錶中,返回root.next class solution listnode root new listnode 0 listnode n null while head n...

合併兩個排序的鍊錶 反轉鍊錶

合併兩個排序的鍊錶 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例1 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4 public listnode mergetwolists listnode l1,listnode l2 else r r.next r....

php 實現鍊錶的反轉 迭代和遞迴

1.遞迴 思路說明請看 注釋 definition for a singly linked list.class listnode class solution 由於是物件,所以存在值引用 即 head的變化會影響到 tmp tmp this reverselist head next 1 2 3 ...