public class Solution {
private TreeNode subtree = null;
private int subtreeSum = Integer.MAX_VALUE;
public TreeNode findSubtree(TreeNode root) {
// write your code here
dfs(root);
return subtree;
}
private int dfs(TreeNode root){
if(root == null){
return 0;
}
int sum = dfs(root.left) + dfs(root.right) + root.val;
if(sum < subtreeSum){
subtreeSum = sum;
subtree = root;
}
return sum;
}
}