一、寻找特定节点
1. 404【左叶子之和】
- 题目: 给定二叉树的根节点 root ,返回所有左叶子之和。
- 代码:
class Solution {
public int sumOfLeftLeaves(TreeNode root) {
if(root == null) return 0;
int leftSum = 0;
if(root.left!=null && root.left.left==null && root.left.right==null){
leftSum = root.left.val;
}else{
leftSum = sumOfLeftLeaves(root.left);
}
int right = sumOfLeftLeaves(root.right);
return leftSum+right;
}
}
2. 513【找树左下角的值】
- 题目: 给定一个二叉树的 根节点 root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。
- 代码:
class Solution {
public int findBottomLeftValue(TreeNode root) {
Deque<TreeNode> queue = new ArrayDeque<>();
queue.offer(root);
TreeNode ansNode = root;
while (!queue.isEmpty()){
int len = queue.size();
for (int i = 0; i < len; i++) {
TreeNode tempNode = queue.