删除链表中的节点

删除链表中的节点

整理思路:这道题的思路还是挺新颖的,应为这是链表(可能是我太菜了,竟在一开始没有想到这样的思路)。此题就是直接将后一个的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;
    }

}