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

太原网站制作哪儿好薇深圳网站设计收费

太原网站制作哪儿好薇,深圳网站设计收费,宁波哪家建网站好,交易网站怎么做目录 一、二叉树 1. 二叉树的深度遍历(DFS:前序、中序、后序遍历) 2. 二叉树的最大深度 3. 翻转二叉树 4. 对称二叉树 5. 二叉树的直径 6. 二叉树的层序遍历 7. 将有序数组转换为二叉搜索树 8. 验证二叉搜索树 9. 二叉搜索树中第 K 小的元素 …

目录

一、二叉树

1. 二叉树的深度遍历(DFS:前序、中序、后序遍历)

2. 二叉树的最大深度

3. 翻转二叉树

4. 对称二叉树

5. 二叉树的直径

6. 二叉树的层序遍历

7. 将有序数组转换为二叉搜索树

8. 验证二叉搜索树

9. 二叉搜索树中第 K 小的元素

10. 二叉树的右视图

(待更...)

二、图论(待更...)


前言

一、二叉树:二叉树的中序遍历,二叉树的最大深度,翻转二叉树,对称二叉树,二叉树的直径,二叉树的层序遍历,将有序数组转换为二叉搜索树,验证二叉搜索树,二叉搜索树中第 K 小的元素,二叉树的右视图...... (日更ing)

二、图论:...... (日更ing)


一、二叉树

1. 二叉树的深度遍历(DFS:前序、中序、后序遍历)

 原题链接:94. 二叉树的中序遍历 - 力扣(LeetCode)

# (1)前序遍历:根-左-右
class Solution(object):def preorderTraversal(self, root):res = []def preorder(root):if not root:return res.append(root.val)preorder(root.left)preorder(root.right)preorder(root)return res
# (2)中序遍历:左-根-右
class Solution(object):def inorderTraversal(self, root):res = []def inorder(root):if not root:return inorder(root.left)res.append(root.val)inorder(root.right)inorder(root)return res

# (3)后序遍历:左-右-根
class Solution(object):def postorderTraversal(self, root):res = []def inorder(root):if not root:return postorder(root.left)postorder(root.right)res.append(root.val)postorder(root)return res

2. 二叉树的最大深度

原题链接:104. 二叉树的最大深度 - 力扣(LeetCode)

class Solution(object):def maxDepth(self, root):if not root:return 0left_height = self.maxDepth(root.left)right_height = self.maxDepth(root.right)return max(left_height, right_height) + 1

3. 翻转二叉树

原题链接:226. 翻转二叉树 - 力扣(LeetCode)

class Solution(object):def invertTree(self, root):if not root:return root.left, root.right = root.right, root.leftself.invertTree(root.left)self.invertTree(root.right)return root

4. 对称二叉树

原题链接:101. 对称二叉树 - 力扣(LeetCode)

class Solution(object):def isSymmetric(self, root):def check(left, right):if not left and not right:return Trueif not left or not right:return Falseif left.val != right.val:return Falsereturn check(left.left, right.right) and check(left.right, right.left)return check(root.left, root.right)

5. 二叉树的直径

原题链接:543. 二叉树的直径 - 力扣(LeetCode)

class Solution(object):def diameterOfBinaryTree(self, root):def dfs(root):if not root:return 0, 0ld, ldepth = dfs(root.left)rd, rdepth = dfs(root.right)return max(ld, rd, ldepth+rdepth), max(ldepth, rdepth) + 1return dfs(root)[0]

6. 二叉树的层序遍历

原题链接:102. 二叉树的层序遍历 - 力扣(LeetCode)

class Solution(object):def levelOrder(self, root):if not root:return []node = [root]res = []while len(node) > 0:res.append([i.val for i in node])node2 = []for i in node:if i.left:node2.append(i.left)if i.right:node2.append(i.right)node = node2return res

7. 将有序数组转换为二叉搜索树

原题链接:108. 将有序数组转换为二叉搜索树 - 力扣(LeetCode)

class Solution(object):def sortedArrayToBST(self, nums):def dfs(left, right):if left > right:returnmid = (left + right) // 2root = TreeNode(nums[mid])root.left = dfs(left, mid-1)root.right = dfs(mid+1, right)return rootreturn dfs(0, len(nums)-1)

8. 验证二叉搜索树

原题链接:98. 验证二叉搜索树 - 力扣(LeetCode)

class Solution(object):def isValidBST(self, root, left=float('-inf'), right=float('inf')):if not root:return Truex = root.valreturn left < x < right and self.isValidBST(root.left, left, x) and self.isValidBST(root.right, x, right)
# self.isValidBST(root.left, left, x):遍历左子树,右边界更新
# self.isValidBST(root.right, x, right):遍历右子树,左边界更新

9. 二叉搜索树中第 K 小的元素

原题链接:230. 二叉搜索树中第 K 小的元素 - 力扣(LeetCode)

# 先通过前序/中序/后序遍历转为list,而后利用list属性找第k个小的元素。
# 此代码使用前序遍历(根-左-右)
class Solution(object):def kthSmallest(self, root, k):res = [] def preorder(root):if not root:returnres.append(root.val)preorder(root.left)preorder(root.right)return resres = preorder(root)res.sort()return res[k-1]

10. 二叉树的右视图

原题链接:199. 二叉树的右视图 - 力扣(LeetCode)

class Solution(object):def rightSideView(self, root):# if len(res) == depth: res.append(root.val)# 先遍历右子树,再遍历左子树res = []def dfs(root, depth):if not root:return []if len(res) == depth:res.append(root.val)dfs(root.right, depth+1)dfs(root.left, depth+1)return resreturn dfs(root, 0)


二、图论

http://www.dtcms.com/wzjs/535788.html

相关文章:

  • 建设全球购多用户商城网站不同网站的主机和域名
  • 无锡做网站seo百年建筑网官网
  • 中国建设银行信用卡网站首页金融投资公司网站建设论文
  • wordpress注册功能seo排名赚官网
  • 国外学校网站模板已有备案号新增网站备案要关闭原先的站点吗
  • wordpress调用网站最新文章node.js做网站
  • 百度云网站入口app制作平台大全
  • 做网站学什么软件本地网站搭建
  • 网站上怎样做下载文档链接列举常见的网络营销工具
  • 河北建设局网站it人力外包
  • 12380网站的建设情况茶叶网站源码php
  • 网站建设好弄不好弄it培训教育机构
  • 网站建设是专业合肥微信网站
  • 开公司建网站淘宝客网站女装模板下载
  • 国内全屏网站有哪些公司网站怎么做
  • 有网络网站打不开怎么回事做胃镜多少钱那好天津津门网站a
  • 猪八戒网站开发电子商务网站硬件建设的核心是
  • 做网站资源和幼儿做网站爱
  • 网站建设基础心得微信网页登录入口
  • 网站建设市场数据分析个人备案网站做盈利合法吗
  • 德州公司做网站wordpress文章字数
  • asp音乐网站开发教程深圳十大传媒公司排名
  • 私人网站制作 个人使用主页网站建设
  • 网站建设的财务计划网站集成支付宝教程
  • 群晖网站建设口岸地区网站建设内容
  • 内乡微网站开发品牌网是什么
  • 墨尔本网站建设wordpress连接本地数据库
  • wordpress创建登录页网站自然优化是什么意思
  • 网站改版的必要性徐州cms建站系统
  • 网站的布局方式有哪些方面wordpress站长地图