------------------------------------------------
因为不知道前序是谁,所以只好采用类似于数组实现的列表移动值,
又因为如果当前是最后一个元素了但是已经没办法修改前序了所以必须在倒数第二个就修改,所以应该提前进行判断
AC代码:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public void deleteNode(ListNode node) { if(node==null) return ; if(node.next!=null && node.next.next==null){ node.val=node.next.val; node.next=null; return; } node.val=node.next.val; deleteNode(node.next); } }
题目来源: https://leetcode.com/problems/delete-node-in-a-linked-list/