美文网首页
面试题34:二叉树中和为某一值的路径

面试题34:二叉树中和为某一值的路径

作者: 大坝里最亮的仔 | 来源:发表于2019-02-01 15:40 被阅读0次

题目:输入一颗二叉树和一个整数,打印出二叉树中节点值的和为输入的整数的所有路径。从树的根节点往下一直到叶节点所经过的节点形成一条路径。

public void findPath(BinaryTree head, int sum, ArrayList lst) {

    if (head ==null)return;

        lst.add(head);

    if (head.mLeft ==null && head.mRight ==null) {

        int temp =0;

        for (int i =0;i < lst.size();i++)temp += lst.get(i).value;

        if (temp == sum) {

        for (int i =0;i < lst.size();i++) {

        if (i < lst.size() -1)System.out.print(lst.get(i).value +"->");

                else System.out.print(lst.get(i).value +"");

            }

        System.out.println();

        }

}

if (head.mLeft !=null)findPath(head.mLeft,sum,lst);

    if (head.mRight !=null)findPath(head.mRight,sum,lst);

    lst.remove(head);

}

class BinaryTree{

    int value;

    BinaryTree mLeft;

    BinaryTree mRight;

}

相关文章

网友评论

      本文标题:面试题34:二叉树中和为某一值的路径

      本文链接:https://www.haomeiwen.com/subject/uvjdsqtx.html