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

输出二叉树的右视图

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

超简洁的代码,无需重构二叉树,直接输出矩阵结果,我太优秀了,爱自己

class Solution:
res={}
def solve(self , xianxu , zhongxu ):
res1=[]
self.reconstruct(xianxu,zhongxu,0)
for key in range(len(self.res)):
res1.append(self.res[key][-1])
return res1
def reconstruct(self, xianxu, zhongxu,level):
head=xianxu[0]
split=zhongxu.index(head)
if split!=0:
self.reconstruct(xianxu[1:split+1],zhongxu[:split],level+1)
if split+1<len(zhongxu):
self.reconstruct(xianxu[split+1:],zhongxu[split+1:],level+1)
if level in self.res:
self.res[level].append(head)
else:
self.res[level]=[head]
else:
if level in self.res:
self.res[level].append(xianxu[0])
else:
self.res[level]=[xianxu[0]]
return

全部评论

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务