欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode 203. Remove Linked List Elements

程序员文章站 2024-02-19 08:31:52
...

LeetCode 203. Remove Linked List Elements
题目描述:
删除链表中等于给定值 val 的所有节点。

示例:

输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
解题思路:
对头结点进行特殊处理
遇到所求节点,则越过链接后一个,使之进入原始状态,在进行判断
代码:

public static ListNode removeElements2(ListNode head, int val) {
		ListNode tmp=new ListNode(-1);
		tmp.next=head;
		ListNode t=head;
		while(t!=null)
		{
			
			if(t.val!=val)
			{
				
                t=t.next;
				tmp=tmp.next;
            }
          
            else
            {
            	if(t==head)
					head=t.next;
            	//越过这个链接后一个
            	tmp.next=t.next;
            	//不更新tmp 使得tmp在从原来位置进行操作
            	t=t.next;
            }
			
		}
		return head;
	   
	        
	    }
相关标签: 算法