题目:打印二元树所有从根到叶子路径。
分析:采用二元树的非递归后根遍历,每次输出节点内容的时候判断是否为叶子节点,如果是则逆序打印栈里内容。
例子:
输入二元树如下:
1
/ /
2 3
/ /
4 5
/ /
6 7
输出:1、2、4
1、2、5、6
1、2、5、7
1、3
C/C++源码:
扩展:
相关面试题还有求所有路径中和为某值的路径,只需要在栈的基础上加一个和,输出时判断即可。
题目:打印二元树所有从根到叶子路径。
分析:采用二元树的非递归后根遍历,每次输出节点内容的时候判断是否为叶子节点,如果是则逆序打印栈里内容。
例子:
输入二元树如下:
1
/ /
2 3
/ /
4 5
/ /
6 7
输出:1、2、4
1、2、5、6
1、2、5、7
1、3
C/C++源码:
扩展:
相关面试题还有求所有路径中和为某值的路径,只需要在栈的基础上加一个和,输出时判断即可。