2018秋招小红书算法方向在线编程题
Posted tsdblogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018秋招小红书算法方向在线编程题相关的知识,希望对你有一定的参考价值。
代码如下:
class TreeNode: def __init__(self, x): self.left=None self.right=None self.value=x def BuildTree(ceng, zhong): if len(ceng)==0: return None if len(ceng)==1: return TreeNode(ceng[0]) else: flag=TreeNode(ceng[0]) root=ceng[0] zong=zhong[:zhong.index(ceng[0])] cen=[] for i in ceng: if i in zong: cen.append(i) flag.left=BuildTree(cen,zong) cen = [] zong=zhong[zhong.index(ceng[0])+1:] for i in ceng: if i in zong: cen.append(i) flag.right=BuildTree(cen,zong) return flag def PrintLeafNode(root,node): if root==None: return if root.left==None and root.right==None: node.append(root.value) PrintLeafNode(root.left, node) PrintLeafNode(root.right, node) def PreTravel(root,node): if root==None: return node.append(root.value) PreTravel(root.left, node) PreTravel(root.right, node) def BackTravel(root, node): if root==None: return BackTravel(root.left, node) BackTravel(root.right, node) node.append(root.value) ceng=input().strip().split(" ") zhong=input().strip().split(" ") root=BuildTree(ceng, zhong) leaf=[] pre=[] back=[] PrintLeafNode(root, leaf) PreTravel(root, pre) BackTravel(root, back) print(" ".join(leaf)) print(" ".join(pre)) print(" ".join(back))
以上是关于2018秋招小红书算法方向在线编程题的主要内容,如果未能解决你的问题,请参考以下文章