iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
自我挑戰組

初學者學習到的JavaScript 知識系列 第 27

鐵人賽DAY27-leetcode練習(一)

  • 分享至 

  • xImage
  •  

LeetCode 404題是“Sum of Left Leaves”,要求計算二元樹中所有左葉子節點的和
題目描述
給定一棵二元樹的根節點,返回所有左葉子的總和。
左葉子是指作為另一個節點的左子節點的葉子並且該節點沒有子節點。

解題想法
1.我們需要遍歷整個二元樹。
2.當我們遇到一個左葉子節點時,將其值加入到總和中。

class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode(int x) { val = x; }
}
// 定義樹的節點結構
public class Solution {
public int sumOfLeftLeaves(TreeNode root) {
    // 輔助函數
    return helper(root, false);
}

private int helper(TreeNode node, boolean isLeft) {
    if (node == null) {
        return 0;
    }
    if (node.left == null && node.right == null) {
        // 如果是左子樹,則返回他的值;否則返回0
        return isLeft ? node.val : 0;
    }
    // 計算左子樹和
    return helper(node.left, true) + helper(node.right, false);
    }
}

上一篇
鐵人賽DAY26-Javascript技術
下一篇
鐵人賽DAY28-leetcode練習(二)
系列文
初學者學習到的JavaScript 知識30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言