203. 移除链表元素php解法

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。(力扣的题 编号203哈)

示例 1:

203. 移除链表元素php解法

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:

输入:head = [], val = 1
输出:[]

示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]

解法:
1.链表结构,在我们不确定链表有多少节点的情况下,我们不能用for 。所以我们可以函数递归。
2.递归判断相等,相等就吧此节点忽略。这样就完美的去掉相等的节点。
3.在力扣执行速度击败百分之百用户
203. 移除链表元素php解法

class Solution {

    /**
     * @param ListNode $head
     * @param Integer $val
     * @return ListNode
     */
    function removeElements($head, $val) {
        if(empty($head)){//判断节点是否为空
            return $head;//如果为空就返回。
        }
        $head->next = $this->removeElements($head->next,$val);
        if($head->val == $val){//进行判断 val 和  节点val是否一直 。 如果一致就返回下面的节点。(这样就能吧重复的节点忽略掉)
            return $head->next;
        }
        return $head;//如果没有一致就返回节点本体。

    }
}

原创文章,作者:星辰,如若转载,请注明出处:https://www.z88j.com/319.html

(35)
打赏 微信扫一扫 微信扫一扫
上一篇 2021年6月16日 下午10:07
下一篇 2021年6月26日 上午1:53

相关推荐

发表回复

登录后才能评论