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

c 做网站 知乎百度手机app下载并安装

c 做网站 知乎,百度手机app下载并安装,哪个网站可以做担保交易,wordpress自动加p标签目录 151. 反转字符串中的单词129. 求根节点到叶节点数字之和104. 二叉树的最大深度101. 对称二叉树110. 平衡二叉树144. 二叉树的前序遍历543. 二叉树的直径48. 旋转图像98. 验证二叉搜索树39. 组合总和 151. 反转字符串中的单词 题目链接 class Solution:def reverseWords(s…

目录

  • 151. 反转字符串中的单词
  • 129. 求根节点到叶节点数字之和
  • 104. 二叉树的最大深度
  • 101. 对称二叉树
  • 110. 平衡二叉树
  • 144. 二叉树的前序遍历
  • 543. 二叉树的直径
  • 48. 旋转图像
  • 98. 验证二叉搜索树
  • 39. 组合总和

151. 反转字符串中的单词


题目链接

class Solution:def reverseWords(self, s: str) -> str:ls=s.strip().split()ls.reverse()res=" ".join(ls)return res

129. 求根节点到叶节点数字之和


题目链接

# 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 helper(self,root,i):if not root:return 0temp=i*10+root.valif not root.left and not root.right:return tempreturn self.helper(root.left,temp)+self.helper(root.right,temp)def sumNumbers(self, root: Optional[TreeNode]) -> int:return self.helper(root,0)

104. 二叉树的最大深度


题目链接

# 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 maxDepth(self, root: Optional[TreeNode]) -> int:if not root:return 0leftHight=self.maxDepth(root.left)rightHigh=self.maxDepth(root.right)return max(leftHight,rightHigh)+1

101. 对称二叉树


题目链接

# 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 isSymmetric(self, root: Optional[TreeNode]) -> bool:def judge(left,right):if not left and not right:return Trueelif not left or not right:return Falseelif left.val!=right.val:return Falseelse:return judge(left.left,right.right) and judge(left.right,right.left)if not root:return Truereturn judge(root.left,root.right)

110. 平衡二叉树


题目链接

# 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 isBalanced(self, root: Optional[TreeNode]) -> bool:# 二叉树的最大深度def height(root):if not root:return 0return max(height(root.left),height(root.right))+1if not root:return Truereturn abs(height(root.left)-height(root.right))<=1 and self.isBalanced(root.left) and self.isBalanced(root.right)

144. 二叉树的前序遍历


题目链接

递归

# 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]:lis=[]def traversal(root):if not root:returnlis.append(root.val)traversal(root.left)traversal(root.right)traversal(root)return lis

非递归

# 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]:white,gray=0,1stack=[(white,root)]res=[]while stack:color,node=stack.pop()if node is None:continueif color==white:stack.append((white,node.right))stack.append((white,node.left))stack.append((gray,node))else:res.append(node.val)return res

543. 二叉树的直径


题目链接

# 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 diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int:# 一条路径的长度为该路径经过的节点数减一,# 所以求直径(即求路径长度的最大值)等效于求路径经过节点数的最大值减一self.max=0def depth(root):if not root:return 0left=depth(root.left)right=depth(root.right)self.max=max(self.max,left+right+1)return max(left,right)+1depth(root)return self.max-1

48. 旋转图像


题目链接

class Solution:def rotate(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""# 用翻转代替旋转# 先水平翻转再主对角线翻转即可得到将图像顺时针旋转90度的图像n=len(matrix)# 水平翻转for i in range(n//2):for j in range(n):matrix[i][j],matrix[n-1-i][j]=matrix[n-1-i][j],matrix[i][j]# 主对角线翻转for i in range(n):for j in range(i):matrix[i][j],matrix[j][i]=matrix[j][i],matrix[i][j]

98. 验证二叉搜索树


题目链接

# 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 isValidBST(self, root: Optional[TreeNode]) -> bool:# 中序遍历:左中右self.pre=Nonedef dfs(root):if not root:return Trueleft=dfs(root.left)if self.pre and self.pre.val>=root.val:return Falseself.pre=rootright=dfs(root.right)return left and rightreturn dfs(root)

39. 组合总和


题目链接

class Solution:def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:path=[]res=[]def backtracking(candidates,s,target,startIndex):if s>target: # 要剪枝必须排序returnif s==target:res.append(path[:])returnfor i in range(startIndex,len(candidates)):s+=candidates[i]path.append(candidates[i])backtracking(candidates,s,target,i) # 下一层i依然可以取到s-=candidates[i]path.pop()candidates.sort()backtracking(candidates,0,target,0)return res
http://www.mmbaike.com/news/57244.html

相关文章:

  • 郑州营销型网站建设工作室珠海百度推广优化排名
  • 利用淘宝视频服务做视频网站新闻最近的大事10件
  • 如何登录wordpress靠谱seo整站优化外包
  • 吴江住房和城乡建设局官方网站长沙百度首页优化排名
  • 没有网站可以域名备案手机软文广告300字
  • 传奇私服哪个网站做的好东莞快速优化排名
  • 上海百度网络推广seo外链工具软件
  • 大连在哪个网站做网上核名seo技术是什么
  • 做网站成都广州市新闻发布
  • cs5怎么做网站百度 站长工具
  • 福州企业如何建网站免费做网站软件
  • 嘉兴电子商务网站建设百度seo公司电话
  • wordpress上站工具网络公司网络推广服务
  • html5可以做动态网站吗搜索网站的软件
  • 网站建设公司的服务定位网络营销推广策划
  • 做网页推广的网站网站优化建议
  • 网站管理员权限有哪些360收录提交
  • 花生壳做的网站稳定吗2020年百度搜索排名
  • 肇庆市有限公司网站建设网页设计模板
  • 做网站难不难优化网站内容
  • 吴江网站制作公司网络优化方案
  • wordpress新建字段百度网站优化工具
  • 建立企业官网深圳关键词推广整站优化
  • 凡科建站和wordpress百度app免费下载安装最新版
  • 做网站设计的需要什么材料无锡seo培训
  • 兼容移动端网站开发佛山网站优化软件
  • 长乐区建设局网站线上卖护肤品营销方法
  • 外贸批发网站建设网络营销专业是学什么的
  • ip地址访问不了网站google搜索引擎入口 镜像
  • 网站建设企业宣传口号站外推广渠道