链表题--04----删除链表中给定的节点

Posted 高高for 循环

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表题--04----删除链表中给定的节点相关的知识,希望对你有一定的参考价值。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


删除链表中给定的节点

https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/

题目:

边界条件

如果要删除的值,正好是是头结点的value, 我们就需要找到第一个不需要删的位置


代码

package class03;

public class Code02_DeleteGivenValue 

	public class ListNode 
		int val;
		ListNode next;

		ListNode(int x) 
			val = x;
		
	

	// head = deleteNode(head, 2);
	public ListNode deleteNode(ListNode head, int val) 
		// head来到第一个不需要删的位置
		while (head != null) 
			if (head.val != val) 
				break;
			
			head = head.next;
		
		// 1 ) head == null
		// 2 ) head != null
		ListNode pre = head;
		ListNode cur = head;
		while (cur != null) 
			if (cur.val == val) 
				pre.next = cur.next;
			 else 
				pre = cur;
			
			cur = cur.next;
		
		return head;
	



以上是关于链表题--04----删除链表中给定的节点的主要内容,如果未能解决你的问题,请参考以下文章

力扣——链表题 203.移除链表元素83.删除排序链表中重复元素82.删除排序链表中重复元素Ⅱ206.反转链表 876.链表的中间节点

LeetCode 链表题 ( Java )

几道简单的链表题

通过这6道初级链表题检验你的链表知识是否合格

链表题目集合

八道经典的面试链表题--------快乐人的java巩固日记[1]