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

Golang | Leetcode Golang题解之第113题路径总和II

题目:

题解:

type pair struct {node *TreeNodeleft int
}func pathSum(root *TreeNode, targetSum int) (ans [][]int) {if root == nil {return}parent := map[*TreeNode]*TreeNode{}getPath := func(node *TreeNode) (path []int) {for ; node != nil; node = parent[node] {path = append(path, node.Val)}for i, j := 0, len(path)-1; i < j; i++ {path[i], path[j] = path[j], path[i]j--}return}queue := []pair{{root, targetSum}}for len(queue) > 0 {p := queue[0]queue = queue[1:]node := p.nodeleft := p.left - node.Valif node.Left == nil && node.Right == nil {if left == 0 {ans = append(ans, getPath(node))}} else {if node.Left != nil {parent[node.Left] = nodequeue = append(queue, pair{node.Left, left})}if node.Right != nil {parent[node.Right] = nodequeue = append(queue, pair{node.Right, left})}}}return
}
http://www.lryc.cn/news/359114.html

相关文章:

  • 云计算与 openstack
  • golang语言的gofly快速开发框架如何设置多样的主题说明
  • lynis安全漏洞扫描工具
  • C++ 多重继承的内存布局和指针偏移
  • centos时间不对
  • 通过Redis实现防止接口重复提交功能
  • 如何构建最小堆?
  • 基于Netty实现安全认证的WebSocket(wss)客户端
  • 代码随想录算法训练营第四十四天 | 01背包问题 二维、 01背包问题 一维、416. 分割等和子集
  • redis常见使用场景
  • 模糊C均值(FCM)算法更新公式推导
  • 金融创新浪潮下的拆分盘投资探索
  • 一份不知道哪里来的第十五届国赛模拟题
  • 机器人动力学模型与MATLAB仿真
  • SAPUI5基础知识3 - 引导过程(Bootstrap)
  • ABAP 借助公司封装的钉钉URL,封装的RFC给钉钉发送消息
  • 登录校验及全局异常处理器
  • 计算机视觉与模式识别实验1-2 图像的形态学操作
  • 【前端每日基础】day31——uni-app
  • 云动态摘要 2024-05-31
  • Oracle数据块如何存储真实数据
  • 【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第30课-门的移动动画
  • 智能化改造给企业带来的实际效果
  • 深度学习-语言模型
  • 微型导轨在自动化制造中有哪些优势?
  • 探索气象数据的多维度三维可视化:PM2.5、风速与高度分析
  • 【传知代码】双深度学习模型实现结直肠癌检测(论文复现)
  • 平衡二叉树的应用举例
  • 一键安装 HaloDB 之 Ansible for Halo
  • el-table的上下筛选功能