//203移除链表元素
public ListNode removeElements(ListNode head, int val) { //创建虚拟头指针不对 //ListNode res = head; //创建一个虚拟头结点 ListNode res=new ListNode(val-1); res.next=head; ListNode prev = res; //不是移动head,是通过pres来移动这里head替换成了prev while(prev.next != null) { if (val == prev.next.val) { prev.next = prev.next.next; } else { prev = prev.next; } } //返回虚拟节点的next return res.next; }
707的理解开始错误了,后来理解以后觉得主要的还是要设置一个prev作为单独的游标。
209反转链表,觉得适当可以倒叙读取转换代码,我比较容易理解。
标签:head,ListNode,res,随想录,next,链表,打卡,prev From: https://www.cnblogs.com/daihao547/p/18211524