public class Test{ public static void main(String[] args) { Node node1 = new Node(4, null, null); Node node2 = new Node(7, null, null); Node node3 = new Node(12, null, null); Node node4 = new Node(5, node1, node2); Node node5 = new Node(10, node4, node3); Stack stack = new Stack(); sumInTree(node5, 0, stack); } public static void sumInTree(Node head, int sum, Stack<Node> stack) { if (head == null) { return; } if (head.left == null && head.right == null) { if ((sum + head.value) == 22) { for (Node node : stack) { System.out.println(node.value); } System.out.println(head.value); } } else { stack.push(head); sumInTree(head.left, sum + head.value, stack); sumInTree(head.right, sum + head.value, stack); stack.pop(); } } } class Node { int value; Node left; Node right; public Node(int value, Node left, Node right) { this.value = value; this.left = left; this.right = right; } }
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交