题解 | #输出二叉树的右视图#

输出二叉树的右视图

http://www.nowcoder.com/practice/c9480213597e45f4807880c763ddd5f0

正常思路是先复原二叉树,再宽度搜索打印,这里提供一个在复原过程中就记录的方案,比较小巧:
dic 存放每个深度的当前遍历到的最后一个值

dic={}
def ssolve(xianxu,zhongxu,n):
    index=zhongxu.index(xianxu[0])
    dic[n]=xianxu[0]
    if index>0:
        ssolve(xianxu[1:index+1], zhongxu[:index],n+1)
    if len(xianxu)-index>1:
        ssolve(xianxu[index+1:], zhongxu[index+1:],n+1)
class Solution:
    def solve(self , xianxu , zhongxu ):
        # write code here
        ssolve(xianxu, zhongxu, 0)
        return list(dic.values())
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:13
点赞 评论 收藏
分享
05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务