Lintcode480 Binary Tree Paths so

2018-03-25  本文已影响0人  程风破浪会有时

【题目描述】

Given a binary tree, return all root-to-leaf paths.

给一棵二叉树,找出从根节点到叶子节点的所有路径。

【题目链接】

www.lintcode.com/en/problem/binary-tree-paths/

【题目解析】

本题属于二叉树的遍历问题,可以用深度优先搜索来解决。

使用栈来记录遍历过程中访问过的节点。递归地访问每个节点的子节点,如果遇到叶节点,则输出记录的路径。返回上一层之前弹出栈顶元素。 C++的vector容器也能做到后进先出,所以下面的代码并没有使用std::stack类来实现。

生成输出的字符串时,可以使用std::stringstream类来完成,类似于Java和C#中的StringBuilder。

【参考答案】

www.jiuzhang.com/solutions/binary-tree-paths/

上一篇 下一篇

猜你喜欢

热点阅读