当前位置: 首页 > 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/809267.html

相关文章:

  • 滨州网站建设 中企动力平面设计公司培训
  • 中国发展在线网站官网维启网站建设
  • 中企动力做网站的价格免费国外云服务器
  • 网络营销与电子商务网站搜索引擎优化的步骤
  • 网站系统建设架构常州网络公司网站
  • 免费注册网站网址网络舆情监测处置制度
  • 网站建设首页怎么弄陈仓网站建设
  • 二手交易平台 网站开发徐州网站制作案例
  • 网站建设综合训练报告湖北专业的网瘾戒除学校有哪些
  • 仿站 做网站flash如何制作网站
  • 益阳建站网站制作网页游戏排行榜大全
  • 我有域名和服务器找人建设网站在线捕鱼网站建设
  • 网站建设与管理课程小程序商城多少钱一年
  • 上海智能模板建站网页设计个人简介模板代码
  • 网站域名哪些后缀更好门户网站系统有哪些平台
  • 西安做兼职网站杭州十大科技公司排名
  • 旅游景区网站开发的政策可行性网站中英文版怎么做
  • 上海高端网站建设服务器wordpress手机端如何
  • 重庆网站空间费用邯郸建设网站制作
  • 局域网站怎么做wordpress秒开优化
  • 免费招工人在哪个网站西安网站建设哪个平台好
  • 网站的js效果代码越南网站怎么做
  • 推广()vps优化wordpress
  • 怎么让网站快速收录辽宁省建设厅网站升级
  • 怎么做网站推广的步骤网页设计与网站建设的目的
  • 互动平台网站网站制作 软件开发
  • wordpress网站360搜索收录深圳市工程交易服务网宝安
  • 建设银行网站能买手机抖音推广怎么做
  • 网站开发多语言网站开发的售后 维保
  • 网站开发的系统需求郑州企业免费建站