1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class Solution { private static class ResultHolder { private int level; private int bottomLeftValue; }
public int findBottomLeftValue(TreeNode root) { ResultHolder resultHolder = new ResultHolder(); dfs(root, 1, resultHolder); return resultHolder.bottomLeftValue; }
private void dfs(TreeNode root, int level, ResultHolder resultHolder) { if (level > resultHolder.level) { resultHolder.level = level; resultHolder.bottomLeftValue = root.val; }
if (root.left != null) { dfs(root.left, level + 1, resultHolder); } if (root.right != null) { dfs(root.right, level + 1, resultHolder); } } }
|
References
513. Find Bottom Left Tree Value
剑指 Offer II 045. 二叉树最底层最左边的值