資料結構之鍊錶反轉

2021-08-06 01:13:25 字數 543 閱讀 3143

鍊錶分為單向鍊錶和雙向鍊錶,無論是哪一種鍊錶,反轉都是類似的,區別主要是雙向將當前節點的last節點指向next節點。鍊錶反轉要注意的就是找到當前節點時,在進行反轉前,找到當前節點的上乙個節點和下乙個節點,這樣才能保證每一次的反轉後可以移動到下乙個節點並繼續進行操作。

public class node 

}

//單鏈表反轉

public static node reverselinklist(node head)

return pre;

}

public class doublenode 

}

//反轉雙向鍊錶

public static doublenode reversedoublelinklist(doublenode head)

return pre;

}

參考資料

1.《昌旭源**面試指南——it名企演算法與資料結構題目最優解》 左程雲 著

資料結構 鍊錶操作之反轉鍊錶

這兩天遇到幾個反轉鍊錶的題目,覺得比較有意思,這裡分享一下 1 給出乙個鍊錶,同時給出索引m和n,要求將位於m和n之間的節點反轉,然後返回結果。1 m n lengthof linklist eg 1 2 3 4 5 m 2,n 4 輸出 1 4 3 2 5 反轉鍊錶的時候,有乙個比較關鍵的技巧,比...

Java資料結構之鍊錶反轉

思路很簡單,定義乙個類,這個類分成2塊,一塊是表示自身的標誌,另外乙個儲存指向下乙個元素的引用。通過互換相鄰兩個節點的引用來達到鍊錶反轉的效果。上 package com.withiter.test public class reverselist public static node add st...

LeetCode 資料結構 反轉鍊錶

首先看題目 反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null高階 你可以迭代或遞迴地反轉鍊錶。你能否用兩種方法解決這道題?先不管什麼高階,不管黑貓白貓,只要能抓到耗子就是好貓。我們就是用最笨的方法也得把這道題給解決嘍。解決思路 首先明白我們要幹啥,反轉鍊錶...