您当前的位置: 首页 >  leetcode

LeetCode Algorithm LCP 44. 开幕式焰火

发布时间:2022-02-05 13:20:24 ,浏览量:0

LCP 44. 开幕式焰火

Ideas

树类型的题目一般都需要用到递归,这道题相对来说比较简单,我们只需要遍历整棵树,然后把节点值记录到一个集合中,最后返回集合的长度就可以了。

所以这道题的考点就是树的遍历,奉上我的二叉树前序遍历模板:

递归版本:

def preorderTraversalRecursion(node): if not node: return print(node.value, end=' ') # 递归序第一次到达 node 的时候 print BinaryTreeNode.preorderTraversalRecursion(node.left) BinaryTreeNode.preorderTraversalRecursion(node.right) 

非递归版本:

def preorderTraversalLoop(node): if not node: return stack = [node] # list 模拟 stack while stack: tmp = stack.pop() print(tmp.value, end=' ') if tmp.right: stack.append(tmp.right) if tmp.left: stack.append(tmp.left) 

这道题把模板稍微一改就行了。

Code Python
# Definition for a binary tree node. class TreeNode: def __init__(self, x): self.val = x
        self.left = None self.right = None class Solution: def numColor(self, root: TreeNode) -> int: def pre_order_traversal(node: TreeNode): if not node: return stack = [node] while stack: item = stack.pop() ans.add(item.val) if item.right: stack.append(item.right) if item.left: stack.append(item.left) ans = set() pre_order_traversal(root) return len(ans) 
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.3625s