题解 | #二叉树根节点到叶子节点的所有路径和#
二叉树根节点到叶子节点的所有路径和
http://www.nowcoder.com/practice/185a87cd29eb42049132aed873273e83
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
public static int sum=0;
public static Stack<TreeNode> stack=new Stack<>();
public class Solution {
/**
*
* @param root TreeNode类
* @return int整型
*/
public static int sum=0;
public static Stack<TreeNode> stack=new Stack<>();
public int sumNumbers (TreeNode root) {
// write code here
// write code here
if(root==null){
return 0;
}
stack.push(root);
TreeNode left=root.left;
if (left!=null){
sumNumbers(left);
}
TreeNode right=root.right;
if (right!=null){
sumNumbers(right);
}
if (root.left==null && root.right==null){
double aa=stack.pop().val;
sum=(int)(sum+aa*Math.pow(10.0,0));
int i=stack.size();
for (TreeNode binaryNode : stack) {
sum=(int)(sum+binaryNode.val*Math.pow(10.0,i));
i--;
}
return sum;
}
stack.pop();
return sum;
}
}