91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
贵港市| 新龙县| 富阳市| 安塞县| 大竹县| 木兰县| 久治县| 开封县| 延川县| 长春市| 柘城县| 拉萨市| 商都县| 罗田县| 唐河县| 乐山市| 平塘县| 永靖县| 临夏市| 镇巴县| 连南| 积石山| 水富县| 缙云县| 荆门市| 郓城县| 含山县| 河曲县| 南投县| 阳谷县| 盘锦市| 左贡县| 嘉禾县| 宁夏| 准格尔旗| 天祝| 大兴区| 哈巴河县| 团风县| 玉树县| 冀州市|