删除链表中的节点
整理思路:这道题的思路还是挺新颖的,应为这是链表(可能是我太菜了,竟在一开始没有想到这样的思路)。此题就是直接将后一个的val值覆盖此位置,以此类推。
public class num_14 {
public static class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public static void main(String[] args) {
ListNode node1 = new ListNode(4);
ListNode node2 = new ListNode(5);
ListNode node3 = new ListNode(1);
ListNode node4 = new ListNode(9);
node1.next = node2;
node2.next = node3;
node3.next = node4;
deleteNode(node2);
while(node1!=null) {
System.out.println(node1.val);
node1 = node1.next;
}
}
public static void deleteNode(ListNode node) {
ListNode prenode = node;
while(!(node.next==null)) {
node.val = node.next.val;
prenode = node;
node = node.next;
}
prenode.next = null;
}
}