有一棵二叉树,树上的叶子节点定义为“樱桃”。现在需要找出树上有多少个满足如下子结构的“樱桃”串,即一串上刚好有两颗“樱桃”。 比如如下的一棵树,红框标示的有两个符合要求的结构,答案就是2 又比如下面的这颗树,没有任何符合要求的子结构,则答案是0-笔试面试资料
这是qklbishe.com第6090 篇笔试面试资料
提供答案分析,通过本文《有一棵二叉树,树上的叶子节点定义为“樱桃”。现在需要找出树上有多少个满足如下子结构的“樱桃”串,即一串上刚好有两颗“樱桃”。
比如如下的一棵树,红框标示的有两个符合要求的结构,答案就是2
又比如下面的这颗树,没有任何符合要求的子结构,则答案是0-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。
答案:
有一棵二叉树,树上的叶子节点定义为“樱桃”。现在需要找出树上有多少个满足如下子结构的“樱桃”串,即一串上刚好有两颗“樱桃”。
比如如下的一棵树,红框标示的有两个符合要求的结构,答案就是2
又比如下面的这颗树,没有任何符合要求的子结构,则答案是0
使用map这种数据结构就能够轻松解决
m, n = map(int, input().strip().split()) # 利用字典记录所有节点及其左右子节点 tree = dict() for _ in range(n): parent, _, child = input().strip().split() if parent not in tree: tree[parent] = child else: tree[parent] += " " + child count = 0 # 遍历所有的非叶子节点 for key in tree: if len(tree[key].split()) == 1: # 如果该节点没有两个子节点,则跳过 continue else: # 否则检验该节点的两个叶子节点是否都是叶子节点,如果都不在字典中,则都为叶子节点,计数+1 left, right = tree[key].split() if left not in tree and right not in tree: count += 1 print(count)
今天 12:24:13 回复(0)
文章部分来自互联网,侵权联系删除
www.qklbishe.com
区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站部分资料来自网络,侵权联系删除!资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 有一棵二叉树,树上的叶子节点定义为“樱桃”。现在需要找出树上有多少个满足如下子结构的“樱桃”串,即一串上刚好有两颗“樱桃”。 比如如下的一棵树,红框标示的有两个符合要求的结构,答案就是2 又比如下面的这颗树,没有任何符合要求的子结构,则答案是0-笔试面试资料
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 有一棵二叉树,树上的叶子节点定义为“樱桃”。现在需要找出树上有多少个满足如下子结构的“樱桃”串,即一串上刚好有两颗“樱桃”。 比如如下的一棵树,红框标示的有两个符合要求的结构,答案就是2 又比如下面的这颗树,没有任何符合要求的子结构,则答案是0-笔试面试资料