我竟然也猜到了火树会猜到这个规则!!首先这节目每次都出乎意料很抓马 就像乌兰出局时都以为有豁免权没想到没有 李和王拍卖豁免权没想到最后王境泽拿到了 还有余有矿没有拍豁免权就出局了 有一次说要拍700拍了一千 老出乎意料了! 所以规则也可能让人出乎意料 而且这是个综艺可以说 是要正能量的 那就是不能让小人得志啊就让好人获得的利益多(原版规则一人独享一人分 分享吃亏)第一次看懂那么复杂的节目[泪][泪][泪]
说实话,作为演员,王宝强碾压90%以上的同行,非科班出身,经典角色不少,大部分深入人心,没有绯闻,被妻子和经纪人合搞,都没倒下。恐怕没几个了吧?
要说作品,我首先提一个,顺溜,谁人不识。只要问剧名那就是顺溜。
盲井,天下无贼,士兵突击,人在囧途,树先生,一个人的武林,唐人街探案,这些角色都有鲜明的特色,你看过几部?
要说作品,我首先提一个,顺溜,谁人不识。只要问剧名那就是顺溜。
盲井,天下无贼,士兵突击,人在囧途,树先生,一个人的武林,唐人街探案,这些角色都有鲜明的特色,你看过几部?
今天花了很长时间想了一道leetcode中等题:删除二叉搜索树的节点。翻了翻以前的笔记,发现这道题我根本没看懂答案。
今天又做了一遍,我才悟出点东西:
首先这道题在考中序遍历,因为二叉搜索树一定满足中序遍历递增,如果我们删除某个节点,就一定要找到中序遍历里它的下一个节点或者上一个节点来接替它的位置。
其次,dfs函数之所以有返回值,并且写成后序遍历,是因为这样不用再找某个节点的父节点了。当然,也可以给dfs再加一个parent参数来解决这个问题,不过parent并不知道当前节点是左节点还是右节点,还需要写if来判断,不够优雅。
再次,之所以分那么多情况讨论,是因为理想的情况总是无法满足。对于理想情况,中序遍历里某个节点的下一个节点是它右节点的左下方一直走到头的节点。但是如果一个节点没有右节点呢?那么它的下一个节点就是父节点,我们可以选择让左子树代替当前节点的位置。可是如果当前节点既没有右节点。也没有左子树呢?那么它就只能删除自己。如果一个节点有右节点,但是它的右节点没有左节点呢?那么我们就把这个右节点接替当前节点的位置。我们一步步倒序排查,才能找到所有非理想条件。而并不是这些非理想条件是一开始就想到的。
最后,我们看到在有些情况中,会删除当前节点本身,这就是必须要用到后序遍历的原因——用后序遍历保留parent的信息。如果我们总是删除子节点,那么后序遍历就不是必用不可。
每次都只能用有限的智慧悟出来一点点的东西。但是过了一段时间再回头看,有时觉得自己当时怎么那么聪明,这都能想出来,绝了;有时又觉得这些不都是最基础的吗,怎么还需要悟?
今天又做了一遍,我才悟出点东西:
首先这道题在考中序遍历,因为二叉搜索树一定满足中序遍历递增,如果我们删除某个节点,就一定要找到中序遍历里它的下一个节点或者上一个节点来接替它的位置。
其次,dfs函数之所以有返回值,并且写成后序遍历,是因为这样不用再找某个节点的父节点了。当然,也可以给dfs再加一个parent参数来解决这个问题,不过parent并不知道当前节点是左节点还是右节点,还需要写if来判断,不够优雅。
再次,之所以分那么多情况讨论,是因为理想的情况总是无法满足。对于理想情况,中序遍历里某个节点的下一个节点是它右节点的左下方一直走到头的节点。但是如果一个节点没有右节点呢?那么它的下一个节点就是父节点,我们可以选择让左子树代替当前节点的位置。可是如果当前节点既没有右节点。也没有左子树呢?那么它就只能删除自己。如果一个节点有右节点,但是它的右节点没有左节点呢?那么我们就把这个右节点接替当前节点的位置。我们一步步倒序排查,才能找到所有非理想条件。而并不是这些非理想条件是一开始就想到的。
最后,我们看到在有些情况中,会删除当前节点本身,这就是必须要用到后序遍历的原因——用后序遍历保留parent的信息。如果我们总是删除子节点,那么后序遍历就不是必用不可。
每次都只能用有限的智慧悟出来一点点的东西。但是过了一段时间再回头看,有时觉得自己当时怎么那么聪明,这都能想出来,绝了;有时又觉得这些不都是最基础的吗,怎么还需要悟?
✋热门推荐