class Solution {
public ListNode removeElements(ListNode head, int val) {
if (head == null) {
return null;
}
head.next = removeElements(head.next, val);
return head.val == val ? head.next : head;
}
}
递归首先设置结束条件,如果head为空的话则直接返回空。
特点:从左向右依次遍历,从右向左依次赋值。
head.next=递归函数(head.next,val) //以此遍历整个链表,
此时定位到最后的元素6 6的下一个为null 返回null 所以6的下一个元素为null
此时定位倒数第二个元素5 5的下一个元素为6 6和val相等所以返回 head.next 也就是null
依次赋值执行完成后 则实现了效果!