線性複雜度反轉單向鍊錶

2021-07-05 10:12:26 字數 480 閱讀 9599

假設這是需要反轉的鍊錶,那麼基本思路就是每次都把大一些的乙個放到頭指標的後面

即第一次把2放到1的前面,這個可以通過把1的next指向3,2的next指向1,再把頭節點的next指向2

這樣就得到了head---2---1---3---4

然後再把一下個大一點的數這樣操作,即為把3放到頭指標後面,把1的next指向4,把3的next指向2,把head的next指向3

這些操作只需要利用一些新建的臨時指標即可

得到head---3---2---1---4

最後同理,操作後得到head---4---3---2---1

**如下:(包含頭節點)

list reverse( list l )

return l;

}

單向鍊錶反轉

於 題目 已知單向鍊錶的頭結點head,寫乙個函式把這個鍊錶逆序 intel 解答 我們假設單向鍊錶的節點如下 這個題目算是考察資料結構的最基礎的題目了,有兩種方法可以解此題 方法一 這是一般的方法,總之就是用了幾個臨時變數,然後遍歷整個鍊錶,將當前節點的下一節點置為前節點。方法二 node tem...

單向鍊錶反轉

一 鍊錶 鍊錶的結構是一種非線性的資料結構,優點是可以充分使用空間,插入和刪除節點的時候不需要遍歷節點速度較快,但是由於其特性在查詢的時候遍歷速度比較慢。每乙個節點在儲存自己的資料的時候,還儲存下乙個節點的物理位置。可抽象為 二 鍊錶反轉 1 新增物理儲存反轉 如圖 123 4null 第一步 生成...

反轉單向鍊錶

反轉單向鍊錶 實現反轉單向鍊錶和雙向鍊錶的函式。如 1 2 3 反轉後變成 3 2 1。輸入描述 第一行乙個整數 n,表示單鏈表的長度。第二行 n 個整數 val 表示單鏈表的各個節點。第三行乙個整數 m 表示雙鏈表的長度。第四行 m 個整數 val 表示雙鏈表的各個節點。輸出描述 在給定的函式內返...