抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

给你一个二叉树的根节点 root ,按任意顺序,返回所有从根节点到叶子节点的路径。

叶子节点 是指没有子节点的节点。


思路

  • 思路 1
    • 通过结果集来获取当前的遍历路径。按照深度优先遍历方法,当遍历到一个节点后,就弹出队列尾部的路径,然后加上当前节点的路径。队列尾部最后一个路径就是当前正在遍历的路径。之后如果左分支或右分支存在,则将当前路径压入队列;如果左右分支都不存在,也需要将当前路径压入队列。
    • 问题在于存在多次的 vector 的 push_back 和 pop_back 操作。
  • 思路 2
    • 通过函数参数传递当前的遍历路径。将回溯隐藏在函数参数 path + "->" 中,这样可以使左子树遍历完毕后,path 回溯到当前节点,然后继续遍历右子树。

学习点

代码

思路 1:

思路 2:




本站采用 Volantis 主题设计