leetcode 222 Count Complete Tree Nodes

今天做了一道leetcode题,刚开始是暴力破解,发现special judge, very large tree 过不去,然后一顿想,一顿查,发现可以运用complete binary tree 的性质,然后用的python编写,发现还是过不去,(这个版本是运用左右子数的高度去查找,如果相等那么可以直接得到当前子树节点数,),于是继续思考,如何更加升入地利用complete binary tree 的性质,想到了,只需要找到叶子节点,该节点,是最后一个叶子节点,然后记录找到他的路径,通过路径得到最后一层的叶子总数,再加上前面的可以视为少一层的完整二叉树,即可得到总的节点数,不过,还是没过,简直疯了,(虽然还没有进一步地分析其算法复杂度,但是能明显找到减少的地方,之后找时间做一份完整的分析),之后想了想是不是leetcode本身的问题呢,对同一个问题的不同语言的处理不够,我简单写了写C++代码(好久没写,已经连封号都快忘了),果然过去了,还是第一版本的算法,之后做题的时候还是要看好题目是否适合python这样的脚本语言

转载于:https://www.cnblogs.com/semut/p/4564476.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值