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

金华市建设局网站互联网网站

金华市建设局网站,互联网网站,网站整站优化方案,西丽做网站目录 递归遍历前序遍历中序遍历后序遍历 迭代遍历前序遍历中序遍历后序遍历 递归遍历 前序遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # …

目录

  • 递归遍历
    • 前序遍历
    • 中序遍历
    • 后序遍历
  • 迭代遍历
    • 前序遍历
    • 中序遍历
    • 后序遍历

递归遍历

前序遍历

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:if not root:return []left = self.preorderTraversal(root.left)right = self.preorderTraversal(root.right)return [root.val] + left + right

中序遍历

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:if not root:return []left = self.inorderTraversal(root.left)right = self.inorderTraversal(root.right)return left + [root.val] + right

后序遍历

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:if not root:return []left = self.postorderTraversal(root.left)right = self.postorderTraversal(root.right)return left + right + [root.val]

迭代遍历

前序遍历

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:if not root:return []stack = [root]res = []while stack:cur = stack.pop()res.append(cur.val)  # 在这里加入节点值# 先右后左地加入子节点到栈中if cur.right:stack.append(cur.right)if cur.left:stack.append(cur.left)return res

中序遍历

为什么这样能实现左中右的逻辑?
在这里插入图片描述
为什么需要使用while cur or stack?
在这里插入图片描述

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:if not root:return []stack = []res = []cur = rootwhile cur or stack:if cur:stack.append(cur)cur = cur.leftelse:cur = stack.pop()res.append(cur.val)cur = cur.rightreturn res

后序遍历

中右左 ---->再颠倒顺序成为 左右中

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:if not root:return []res = []stack = [root]while stack:node = stack.pop()res.append(node.val)if node.left:stack.append(node.left)if node.right:stack.append(node.right)return res[::-1]
http://www.wangmingla.cn/news/161207.html

相关文章:

  • 如何看一个关键词在某个网站是否被百度收录推广代理登录页面
  • 知名seo网站优化公司百度推广优化公司
  • asp源码下载网站运营商大数据精准营销获客
  • 沧浪网站建设方案产品推广策划
  • 2020长沙马拉松线上赛沈阳网站关键词优化公司
  • 怎么把网站源码上传到空间根目录视频产品市场调研怎么做
  • 如何查一个网站的备案网推app怎么推广
  • 在线聊天网站怎么做网页优化seo公司
  • 金华网站建设外包下载百度app最新版并安装
  • 北京天海网站建设公司线上营销渠道主要有哪些
  • 高端网站建设的流程是什么网络营销工作内容是什么
  • 佛山精品网站建设舆情管理
  • 吴江区城乡建设局网站如何在百度做推广
  • 公司网站建设企业网站百度信息流投放在哪些平台
  • 网站建设推广关键词深圳网络营销全网推广
  • 加盟网网站建设策划书全国人大常委会副委员长
  • 谁在万网建设的网站优化营商环境的意义
  • 哪个网站专门做高清壁纸五行seo博客
  • 有哪些做兼职的设计网站有哪些工作内容深圳网站seo推广
  • 苏州做企业网站公司企业seo网络推广
  • 北京设计网站的公司哪家好武汉标兵seo
  • wordpress主题测试数据太原网站快速排名优化
  • 哈尔滨网页设计培训杭州seo营销
  • 郑州网站建设推销系统优化软件十大排名
  • 杭州做网站的公司有哪些免费制作网站的平台
  • b2c电子商务网站怎么做推广网络公司
  • 泉州网站建设报价创建软件平台该怎么做
  • 东莞智通人才网招聘信息网seo课程简介
  • 企业网站的建立的目的脚上起小水泡还很痒是怎么回事
  • 企业型网站开发网站如何建立