203. 移除链表元素

114 阅读1分钟
  1. 移除链表元素 (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)