iOS LeetCode ☞ 左叶子之和

计算给定二叉树的所有左叶子之和。

示例:

    3
   / \
  9  20
    /  \
   15   7

在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

解题思路

通过递归遍历,查找所有左叶子

代码

	// 404. 左叶子之和
    func sumOfLeftLeaves(_ root: TreeNode?) -> Int {
        
        var ans = 0
        
        func dfs(_ root: TreeNode?) {
            guard let root = root else {
                return
            }
            
            if let right = root.right {
                dfs(right)
            }
            
            if let left = root.left, left.left == nil && left.right == nil {
                ans += left.val
                return
            }
            dfs(root.left)
        }
        
        dfs(root)
        
        return ans
    }
上一篇:include(): the code encrypt by php 7.1 , but the


下一篇:eb_system_admin crmeb多商户导入管理员账号密码