这道题主要容易错的点就是如果头节点是目标值,直接将初始节点设为head是不行的,需要设置为head前面的节点,因此需要new ListNode(0,head),原本自己的思路是设计一条链表,让这个链表通过遍历不断指向不为val的节点,虽然最后做出来了,但是要为最后一个节点值专门为val做处理,但其他大佬给了更简洁的思路,遍历使用cur.next=cur.next.next的思路来删除目标值节点,确实简便很多。我的思路如下:
其主要思路就是在head.next遍历过程中让一个临时节点指向result的next节点,然后将result的next节点指向最新遍历到的节点,然后将result.next.next指向哪个临时节点,实现链表的反转。
这个题没做过类似的没啥思路//todo
看完题解,其他都能理解,基本都是上面两道题的思路,就是size++和size--不懂。