Java資料結構和演算法(六)—演算法—反轉連結串列
陣列的話跟排好隊的學生一樣,第一個假如從0開始報數。讓他們記住自己的數字,那叫到哪個數字就能找到對應的學生了。
而連結串列的話像是沒有排好隊的學生,但是關係是連線在一起的。每個人持有一張卡片,卡片上寫了他指向誰。
結構比較簡單。
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
}
1 遞迴方式:
public class Solution {
private static int i = 0;
public static ListNode reverseList(ListNode head) {
if(head == null || head.next == null){
return head;
}
ListNode reverseNode = reverseList(head.next);
head.next.next = head;
head.next = null;
return reverseNode;
}
public static void main(String[] args) {
ListNode node1 = new ListNode(1);
ListNode node2 = new ListNode(2);
ListNode node3 = new ListNode(3);
// ListNode node4 = new Li
相關文章
- 資料結構和演算法——Go實現單連結串列並且反轉單連結串列資料結構演算法Go
- Java資料結構和演算法(一)連結串列Java資料結構演算法
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 資料結構與演算法-連結串列資料結構演算法
- JavaScript 的資料結構和演算法 - 連結串列篇JavaScript資料結構演算法
- 資料結構與演算法-連結串列(上)資料結構演算法
- JavaScript資料結構與演算法(連結串列)JavaScript資料結構演算法
- 資料結構與演算法分析——連結串列資料結構演算法
- [ JavaScript ] 資料結構與演算法 —— 連結串列JavaScript資料結構演算法
- 資料結構與演算法-連結串列(下)資料結構演算法
- 每日演算法隨筆:反轉連結串列演算法
- 資料結構和演算法面試題系列—連結串列資料結構演算法面試題
- #反轉連結串列_C++版 #反轉連結串列_Java版 @FDDLCC++Java
- 演算法與資料結構-連結串列((linked-list)-Java實現單向連結串列演算法資料結構Java
- 【資料結構與演算法】——連結串列(Linked List)資料結構演算法
- JavaScript 的資料結構和演算法 - 連結串列程式碼篇JavaScript資料結構演算法
- 反轉連結串列、合併連結串列、樹的子結構
- 03 Javascript資料結構與演算法 之 連結串列JavaScript資料結構演算法
- 資料結構與演算法學習-連結串列下資料結構演算法
- 資料結構與演算法學習-連結串列上資料結構演算法
- python演算法與資料結構-單連結串列(38)Python演算法資料結構
- 資料結構與演算法 | 線性表 —— 連結串列資料結構演算法
- 資料結構與演算法-反轉排序資料結構演算法排序
- 結構與演算法(03):單向連結串列和雙向連結串列演算法
- Java版-資料結構-連結串列Java資料結構
- JAVA資料結構之連結串列Java資料結構
- java實現連結串列反轉Java
- 演算法題:反轉一個單連結串列&判斷連結串列是否有環演算法
- 資料結構與演算法整理總結---陣列,連結串列資料結構演算法陣列
- 【演算法題】反轉連結串列的兩種方法演算法
- 反轉連結串列
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 【資料結構與演算法】通俗易懂說連結串列資料結構演算法
- 演算法與資料結構基礎 - 連結串列(Linked List)演算法資料結構
- 資料結構與演算法(二)佇列、棧、連結串列資料結構演算法佇列
- 資料結構與演算法-線性表-單連結串列資料結構演算法
- python演算法與資料結構-雙向連結串列(40)Python演算法資料結構
- 資料結構與演算法 | 迴文連結串列檢測資料結構演算法