阿里在线笔试-路径求和

前不久阿里内推之后做了阿里的笔试题,半个小时里完全无从下手,最后虽然想出了思路,但时间已到无力回天,只能对着那0%的通过率望洋兴叹,可怜一颗努力刷题的真心。今天看到有同学也准备做阿里的笔试,于是也来凑凑热闹,所幸还是写出了代码,算是弥补了之前的遗憾。分享在此,期待各位讨论研习。(以下内容仅凭记忆,如有偏差,对解题也是没有太大影响的)

1. 问题描述

给定一组输入,每行为一个三位数,输入0或者空行表示结束。这一组输入对应一个二叉树,每一行的三位数对应二叉树中的一个节点,对应规则为:百位表示该节点在二叉树中的层数,十位表示该节点在二叉树该层中的第几个节点,个位数表示该节点的值。限定二叉树的层数最大为4,且每行的三位数递增输入。
求所有叶子节点到根节点的路径所经过节点值的总和。

1.1样例输入

113
211
215
0

1.2样例输出

12

1.3样例解释

根据输入还原二叉树为:

  3
 / \
1   5

叶子节点到根节点有两条路径:1->3和5->3,求和得到:(1+3)+(5+3)=12

2. 思路分析

在所有叶子节点到根节点的路径中,叶子节点只经过一次,非叶子节点的经过次数为其子节点经

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值