欢迎光临散文网 会员登陆 & 注册

【Day22 中高难度算法挑战】删除二叉搜索树中的节点

2023-08-23 13:25 作者:一代鬃狮  | 我要投稿

介绍

总而言之是时候利用暑假锻炼一下算法技术,一提算法面试就面露难色的情形总不能一直持续下去。本栏目面向有一定基础的编程爱好者,每天(如果up不鸽)分享并解析一道LeetCode中高难度题目(通常是hard)。有兴趣的小伙伴可以一起跟着做并且讨论解法。目前的教材是花花酱的Leetcode Problem List【1】.

适合人群:

有一定算法基础,但是还未能顺利通过笔试/面试,总觉得算法题目想不明白的你。

不适合人群:

算法入门级选手(一上来就做难题可能并不合适,建议首先专注简单/中等题目)

非常不适合人群:

算法竞赛选手(这种小儿科的问题完全是在浪费您的时间)

过往题目在这里

删除二叉搜索树中的节点

题目看这里,leetcode第450题,middle难度:
https://leetcode.com/problems/delete-node-in-a-bst/

强烈建议读者自己先做(不过真的会有读者吗,笑),有任何问题欢迎在评论区讨论,up看到了会及时回复。做完了欢迎在评论区打卡~

解析

这里的解题方法实际上是分类讨论。把种种可能都在脑海里过一遍,比较精彩的地方是当要删除的节点同时有左右两个子树。这里我们可以现在右子树里找到最小的节点,然后把左子树接上去。当然左右子树反过来也可。

思考乐园

“我们可以现在右子树里找到最小的节点,然后把左子树接上去”,为什么可以这样做?如果左右子树反过来要怎么做?欢迎将答案写在评论区~

音乐推荐

一眨眼暑假过了两个月,虽然不知道怎么回事,但是我们的题目数量也来到了22道!We have been this far......今天推荐的歌曲是,来自夏色祭Official的V圈金曲单相思,送给正在回忆过去那个夏天的你。

教材链接

【1】https://zxi.mytechroad.com/blog/leetcode-problem-categories/

【Day22 中高难度算法挑战】删除二叉搜索树中的节点的评论 (共 条)

分享到微博请遵守国家法律