0
点赞
收藏
分享

微信扫一扫

LeetCode力扣每日一题(Java):9、回文数

文章目录

1. 左叶子之和

:::details

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func sumOfLeftLeaves(root *TreeNode) int {
    if root == nil {
        return 0
    }
    left := sumOfLeftLeaves(root.Left)
    right := sumOfLeftLeaves(root.Right)
    mid := 0
    if root.Left != nil && root.Left.Left == nil && root.Left.Right == nil  {
        // 叶子
        mid = root.Left.Val
    } 
    return left + right + mid

}


:::

2. 翻转二叉树 E

:::details

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func invertTree(root *TreeNode) *TreeNode {
    dfs(root)
    return root
}

func dfs(root *TreeNode) {
    if root == nil {
        return 
    }
    reg := root.Left
    root.Left = root.Right
    root.Right = reg
    dfs(root.Left)
    dfs(root.Right)
}

:::

举报

相关推荐

0 条评论