已解答 简单
相关标签
相关企业给你一个二叉树的根节点 root
,按 任意顺序 ,返回所有从根节点到叶子节点的路径。
叶子节点 是指没有子节点的节点。
示例 1:
输入:root = [1,2,3,null,5]
输出:["1->2->5","1->3"]
示例 2:
输入:root = [1]
输出:["1"]
提示:
- 树中节点的数目在范围
[1, 100]
内 -100 <= Node.val <= 100
func binaryTreePaths(root *TreeNode) []string { if root == nil { return []string{} } varres []string vartrace []string vardfsfunc(node *TreeNode) dfs = func(node *TreeNode) { trace = append(trace, fmt.Sprintf("%d", node.Val)) if node.Left == nil && node.Right == nil { res = append(res, strings.Join(trace, "->")) return } if node.Left != nil { dfs(node.Left) trace = trace[:len(trace)-1] } if node.Right != nil { dfs(node.Right) trace = trace[:len(trace)-1] } } dfs(root) return res }
已解答 简单
相关标签
相关企业给定二叉树的根节点 root
,返回所有左叶子之和。
示例 1:
输入: root = [3,9,20,null,null,15,7]
输出: 24
解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
示例 2:
输入: root = [1]
输出: 0
提示:
- 节点数在
[1, 1000]
范围内 -1000 <= Node.val <= 1000
func sumOfLeftLeaves(root *TreeNode) int { vardfsfunc(root *TreeNode, direct int) int dfs = func(root *TreeNode, direct int) int { if root == nil { return0 } if root.Left == nil && root.Right == nil && direct == -1 { return root.Val } leftSum := dfs(root.Left, -1) rightSum := dfs(root.Right, 1) return leftSum + rightSum } returndfs(root, 0) }
已解答 简单
相关标签
相关企业给定一个二叉树,判断它是否是高度平衡的二叉树。
本题中,一棵高度平衡二叉树定义为:
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。
示例 1:
输入:root = [3,9,20,null,null,15,7]
输出:true
示例 2:
输入:root = [1,2,2,3,3,null,null,4,4]
输出:false
示例 3:
输入:root = []
输出:true
提示:
- 树中的节点数在范围
[0, 5000]
内 -104 <= Node.val <= 104
func isBalanced(root *TreeNode) bool { vardfsfunc(node *TreeNode) int dfs = func(node *TreeNode) int { if node == nil { return0 } leftHeight := dfs(node.Left) rightHeight := dfs(node.Right) if leftHeight == -1 { return -1 } if rightHeight == -1 { return -1 } if leftHeight-rightHeight > 1 || leftHeight-rightHeight < -1 { return -1 } maxHeight := leftHeight if rightHeight > leftHeight { maxHeight = rightHeight } return maxHeight + 1 } returndfs(root) != -1 } 标签:node,优先,return,nil,递归,dfs,二叉树,root From: https://www.cnblogs.com/suxinmian/p/18017860