- 移除链表元素 (leetcode-cn.com/problems/re…)
思路: 建立一个虚拟头节点, newHead, newTail都指向他,head用来遍历
class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode newHead = new ListNode(0);
ListNode newTail = newHead;
while(head != null){
if(head.val != val){
newTail.next = head;
newTail = head;
}
head = head.next;
}
newTail.next = null;
return newHead.next;
}
}
空间复杂度O(1),时间复杂度O(n)