亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java怎么實現單鏈表反轉

小億
91
2023-10-26 20:26:36
欄目: 編程語言

要實現單鏈表的反轉,可以使用迭代或遞歸兩種方法。

  1. 迭代法:
public ListNode reverseList(ListNode head) {
    ListNode prev = null; // 用于存儲反轉后的鏈表
    ListNode curr = head; // 當前節點
    while (curr != null) {
        ListNode nextTemp = curr.next; // 保存下一個節點
        curr.next = prev; // 將當前節點的next指向前一個節點,實現反轉
        prev = curr; // 將prev指向當前節點,為下一次迭代做準備
        curr = nextTemp; // 將當前節點指向下一個節點,進行下一次迭代
    }
    return prev; // 返回反轉后的鏈表的頭節點
}
  1. 遞歸法:
public ListNode reverseList(ListNode head) {
    if (head == null || head.next == null) {
        return head; // 如果鏈表為空或只有一個節點,則直接返回
    }
    ListNode p = reverseList(head.next); // 遞歸反轉除第一個節點以外的鏈表
    head.next.next = head; // 將第一個節點的next的next指向第一個節點,實現反轉
    head.next = null; // 將第一個節點的next指向null,防止形成環
    return p; // 返回反轉后的鏈表的頭節點
}

0
新昌县| 连南| 阜平县| 武威市| 保定市| 崇明县| 六安市| 大同县| 资溪县| 汪清县| 呼伦贝尔市| 安龙县| 邻水| 抚宁县| 阿合奇县| 张家界市| 左权县| 博乐市| 霍邱县| 融水| 滦平县| 恩施市| 子长县| 突泉县| 荆门市| 潼关县| 新宾| 乌苏市| 明水县| 龙海市| 平舆县| 石泉县| 库车县| 比如县| 盐亭县| 南投市| 青神县| 龙川县| 闽清县| 枣强县| 白玉县|