最近我在采访中遇到了一个问题“在同心圆中打印完整的二叉树”。
1
2 3
4 5 6 7
8 9 0 1 2 3 4 5
输出应为
1 2 4 8 9 0 1 2 3 4 5 7 3
5 6
有谁可以帮我解决这个问题?
答案 0 :(得分:0)
以下是解决问题的方法。按级别排列树:
1
2, 3
4, 5, 6, 7
8, 9, 0, 1, 2, 3, 4, 5
因此,您拥有的数据为k
级L1, L2, ..., Lk
。现在回答这个问题:在我们执行一个步骤之后,即遍历一个圆圈时,在从水平移除遍历元素之后,树级别将如何显示?我应该如何修改关卡以及我应该打印哪些元素,以便看起来我已经遍历了圈子?
在您的示例中,在第一步之后,级别将被修改为:
5, 6
那么执行的操作是什么?
在您回答问题之后,只需应用相同的程序几次,直到您打印完所有元素。