【代码随想录】算法训练计划18

编程入门 行业动态 更新时间:2024-10-24 12:29:46

【代码随想录】<a href=https://www.elefans.com/category/jswz/34/1770096.html style=算法训练计划18"/>

【代码随想录】算法训练计划18

1、513. 找树左下角的值

题目:
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。

思路:
  • 递归,规则,基本可以自己写出来
var maxDepth int
var res int
func findBottomLeftValue(root *TreeNode) int {// 代码一刷,递归,规则res = 0maxDepth = 0di(root, 1)return res
}
func di(node *TreeNode, depth int) {if node.Left == nil && node.Right == nil {if depth > maxDepth {maxDepth = depthres = node.Val}}if node.Left != nil {depth++di(node.Left,depth)depth--}if node.Right != nil {depth++di(node.Right,depth)depth--}
}

2、112. 路径总和

题目:
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。
叶子节点 是指没有子节点的节点。

思路:
  • 前序遍历,中左右, wc 我独立写出来的
  • 路经总和2,求路径大体思路一样,但有个结果我算错了
func hasPathSum(root *TreeNode, targetSum int) bool {return qian(root,0,targetSum)
}
func qian(node *TreeNode,ans,targetSum int) bool {if node == nil {return false}ans += node.Valif node.Left == nil && node.Right == nil {if ans == targetSum {return true}}return qian(node.Left, ans,targetSum) || qian(node.Right, ans,targetSum)
}

3、

题目:

思路:

更多推荐

【代码随想录】算法训练计划18

本文发布于:2023-11-15 07:54:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1596261.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   代码   计划   随想录

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!