題目描述:定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出翻轉後鍊錶的頭節點。
思路:在調整節點i的m_pnext指標時,除了需要知道節點i本身,還需要節點i的前乙個節點h,因為需要把節點i的m_pnext指向節點h,同時還需要乙個儲存i的乙個節點j,以防止鍊錶斷開,因此需要定義三個指標,分別指向當前遍歷到的節點,它的前乙個節點和後乙個節點。
/*
public
class listnode
}*/public
class solution
listnode newhead = null;
listnode pnode = head;
listnode pprev = null;
while(pnode != null)
pnode.next = pprev;
pprev = pnode;
pnode = pnext;
}return newhead;
}}
劍指offer系列 反轉鍊錶
題目描述 給定乙個單鏈表的頭節點,反轉該鍊錶,並返回反轉後的頭節點 分析 從鍊錶頭部開始向後遍歷,注意每次要儲存待反轉節點的prev和next節點 listnode reverselist listnode head return p 其中1 m n list.len 示例 給定的單鏈表為 1 2 ...
劍指offer系列之十四 反轉鍊錶
題目描述 輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。思路如下 在遍歷鍊錶上的每個節點的時候,就修改其指標,當遍歷到最後乙個結點的時候,整個鍊錶就反轉完成了。所以需要建立三個變數 乙個是當前遍歷的結點,乙個是遍歷結點的前乙個結點,還有乙個是當前遍歷結點的下乙個結點。基於這種思路可以寫出如下的實現 ...
劍指offer系列 15 反轉鍊錶
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。解法1 借助資料結構,陣列,棧來反轉鍊錶。思路1 借助陣列,反轉鍊錶 public listnode reverselist listnode head listnode p head arraylist list newarraylist 遍歷鍊錶,入陣...