共計 954 個字符,預計需要花費 3 分鐘才能閱讀完成。
要刪除單鏈表中的某個節點,可以按照以下步驟進行操作:
- 首先判斷要刪除的節點是否是頭節點。如果是頭節點,直接將頭指針指向下一個節點即可。
- 如果要刪除的節點不是頭節點,需要先找到要刪除節點的前一個節點。
- 將前一個節點的 next 指針指向要刪除節點的下一個節點,跳過要刪除的節點。
- 釋放要刪除的節點的內存空間,完成刪除操作。
以下是一個示例代碼:
public class ListNode {int val;
ListNode next;
ListNode(int x) {val = x;}
}
public class LinkedList {private ListNode head;
public void deleteNode(int val) {ListNode current = head;
ListNode previous = null;
// 遍歷鏈表找到要刪除的節點和其前一個節點
while (current != null && current.val != val) {
previous = current;
current = current.next;
}
// 要刪除的節點是頭節點
if (current == head) {head = head.next;}
// 要刪除的節點不是頭節點
else {previous.next = current.next;}
// 釋放要刪除的節點的內存空間
current = null;
}
}
使用示例:
public class Main {public static void main(String[] args) {LinkedList list = new LinkedList();
// 添加節點
list.head = new ListNode(1);
ListNode second = new ListNode(2);
ListNode third = new ListNode(3);
list.head.next = second;
second.next = third;
// 刪除節點
list.deleteNode(2);
// 打印鏈表
ListNode current = list.head;
while (current != null) {System.out.print(current.val + " ");
current = current.next;
}
}
}
輸出結果為:1 3,表示成功刪除了值為 2 的節點。
丸趣 TV 網 – 提供最優質的資源集合!
正文完