[leetcode]Sum Root to Leaf Numbers

新博文地址:[leetcode]Sum Root to Leaf Numbers

 

Sum Root to Leaf Numbers

 

写道
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

An example is the root-to-leaf path 1->2->3 which represents the number 123.

Find the total sum of all root-to-leaf numbers.

For example,

    1
   /  \
  2   3
The root-to-leaf path 1->2 represents the number 12.
The root-to-leaf path 1->3 represents the number 13.

Return the sum = 12 + 13 = 25.

 典型的DFS,至于前序还是后续貌似木有影响;

 

	int result = 0;
	public int sumNumbers(TreeNode root){
		if(root == null){
			return 0;
		}
		getSum(root);
		return result;
	}
	
	private void getSum(TreeNode root){
		if(root.left == null && root.right == null){
			result += root.val;
		}		
		if(root.right != null){
			root.right.val += root.val * 10;
			getSum(root.right);
		}
		if(root.left != null){
			root.left.val += root.val * 10;
			getSum(root.left);
		}
	}

 

你可能感兴趣的:(LeetCode)