)
class solution
//如果head為null的時候,pre就為最後乙個節點了,但是鍊錶已經反轉完畢,pre就是反轉後鍊錶的第乙個節點
//直接輸出pre就是我們想要得到的反轉後的鍊錶
return pre;
//第二種方法是:遞迴方法 /* (???)
struct listnode
};*/
class solution
};
2、有頭結點
帶頭結點的反轉函式,該函式採用三個結構體指標分別儲存 前一節點 當前節點 後一節點 的值,將當前節點的指標域值直接指向前一節點,後一節點作為鍊錶後面的引線,再將這三個指標往後移一位,遞迴進行前面的動作;因為此煉表為帶頭結點的鍊錶,頭結點的資料域並沒有存放有效的資料,此函式與上一函式的區別是,需要保持頭結點不動,只需要反轉後面存有效資料的結點部分
head->next = pre;//再將頭結點指向反轉後的第乙個結點
return head;
};
劍指Offer 翻轉鍊錶
題目 寫出乙個函式,給定乙個鍊錶的頭節點,反轉該鍊錶並輸出其頭節點 struct node linklist 對於煉表頭和鍊錶尾,也有多種定義方式。比如 linklist list int value list value 第乙個元素 node secondnode list next 下乙個節點 ...
劍指Offer 鍊錶 (6)
知識點 陣列 鍊錶 題目描述 輸入兩個鍊錶,找出它們的第乙個公共結點。思路 蠻力法 在第乙個鍊錶遍歷每個節點,每遍歷到乙個節點,就在第二個鍊錶上遍歷每個節點。如果在第二個鍊錶上有乙個節點和第二鍊錶上的節點一樣,則說明兩個鍊錶在這個節點上重合,於是找到了他們的公共節點。時間複雜度 o m n 觀察如果...
劍指Offer16翻轉鍊錶
題目 定義乙個函式,輸入乙個鍊錶的頭結點,翻轉該鍊錶並輸出翻轉後鍊錶的頭結點。分析 這個題剛看的時候可能會和之前遇到的逆序輸出鍊錶差不多,不過在那個題目中並沒有改變鍊錶的指標,而是通過增加空間來進行逆序輸出的,還記得怎麼做嗎?當然就是增加乙個n長度的棧。當然如果題目要求中是可以改變鍊錶的,並且只允許...