Suppose we are considering a singly linked list and p is some node in the list which has successor node. Select the most correct java code snippet that deletes the successor node of p (the node after p).

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Node q = p.next; p.next = q.next;". Muốn bỏ nút ngay sau p thì chỉ cần nối p vượt qua nó: giữ nút cần bỏ vào q rồi cho p.next nhận q.next, nhờ vậy q không còn ai trỏ tới mà phần đuôi vẫn liền mạch, chi phí hằng số. Bản "Node q = p.next; q.next = p.next.next;" chỉ sửa con trỏ bên trong q, p vẫn trỏ vào q nên không nút nào rời danh sách, hơn nữa nó làm q bỏ qua chính nút kế của q. Bản "p = p.next; p.next = null;" chỉ dời biến cục bộ p rồi cắt đuôi, kết quả là mọi nút sau q bị mất mà q thì vẫn còn trong danh sách. Bản "p.next= null;" cắt luôn cả phần sau p, tức xoá hàng loạt chứ không xoá đúng một nút.

Cùng phần 1

Xuất hiện trong 1 bộ đề