反轉鍊錶 C語言實現

2021-07-02 16:34:55 字數 487 閱讀 4673

題目要求:在o(n)的時間內反轉鍊錶,並返回反轉後鍊錶的頭指標。

分析:求解鍊錶問題首先一定要考慮非空問題,而且要注意終止的位置。

如圖所示,反轉的時候定義三個節點,pcur代表當前節點、pnext代表指向的下乙個節點、ppre代表前乙個節點。有了這三個節點就可以從前往後遍歷,而且保證鍊錶不會斷裂!

#include#includestruct listnode

;listnode* reverselist(listnode* head)

return rhead;

}int main()

listnode *phead=reverselist(head->next);

while(phead)

}return 0;

}

leetcode 鍊錶反轉 c語言實現

反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null使用迭代方法,如下 definition for singly linked list.struct listnode struct listnode reverselist struct listnode ...

反轉單向鍊錶 java 語言實現

演示翻轉鍊錶的兩種典型實現,使用泛型。author shan create 2016 09 01 11 46 public class reversesinglylist nodenewhead reverse current.getnextnode current.getnextnode setn...

C語言實現PAT 1025反轉鍊錶

1025 反轉鍊錶 25 分 給定乙個常數 k 以及乙個單鏈表 l,請編寫程式將 l 中每 k 個結點反轉。例如 給定 l 為 1 2 3 4 5 6,k 為 3,則輸出應該為 3 2 1 6 5 4 如果 k 為 4,則輸出應該為 4 3 2 1 5 6,即最後不到 k 個元素不反轉。輸入格式 每...