当前位置: 首页 > article >正文

Golang | Leetcode Golang题解之第404题左叶子之和

题目:

题解:

func isLeafNode(node *TreeNode) bool {
    return node.Left == nil && node.Right == nil
}

func sumOfLeftLeaves(root *TreeNode) (ans int) {
    if root == nil {
        return
    }
    q := []*TreeNode{root}
    for len(q) > 0 {
        node := q[0]
        q = q[1:]
        if node.Left != nil {
            if isLeafNode(node.Left) {
                ans += node.Left.Val
            } else {
                q = append(q, node.Left)
            }
        }
        if node.Right != nil && !isLeafNode(node.Right) {
            q = append(q, node.Right)
        }
    }
    return
}

http://www.kler.cn/a/308035.html

相关文章:

  • Jmeter基础篇(22)服务器性能监测工具Nmon的使用
  • AcWing 302 任务安排 斜率优化的dp
  • macOS解决U盘装完系统容量变小的问题
  • 万字长文分析函数式编程
  • Linux 进程线程间通信总结
  • 使用pytest+openpyxl做接口自动化遇到的问题
  • 递归10小题
  • BSN六周年:迈向下一代互联网
  • 『功能项目』制作提示主角升级面板【56】
  • AI时代个人发展
  • MATLAB、FPGA、STM32中调用FFT计算频率、幅值及相位差
  • 深度学习----------------------文本预处理
  • 进阶SpringBoot之异步任务、邮件任务和定时执行任务
  • 2024最新版MySQL详细学习教程
  • 算法两道题
  • PyCharm 安装
  • 【重学 MySQL】二十八、SQL99语法新特性之自然连接和 using 连接
  • 无人机在战争方面的应用!!!
  • 计算机毕业设计 基于协同过滤算法的个性化音乐推荐系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • unity3d入门教程七
  • 如何编写智能合约——基于长安链的Go语言的合约开发
  • 我想要抓取新加坡当地电商平台数据,使用什么地区的IP最合适
  • C++数据排序( 附源码 )
  • linux-硬件与设备管理-硬件信息查看
  • 计算机网络 第3章 数据链路层
  • JS - 获取剪切板内容 Clipboard API