题目描述:
输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
解题思路:
由于路径是从根节点出发到叶节点,所以我们首先需要遍历根节点。在前序遍历过程中,是中左右的顺序。所以可以将前序遍历进行改写。
利用递归实现前序遍历,在遍历的过程中,记录遍历到的节点,并将遍历过的节点值相加,与目标值对比进行判断。如果相等,则返回该路径,如果不等,就返回父节点寻找其他路径。并且要将上一次遍历到的路径的最末端减去,只有这样,才能保证是新的路径。