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

c 做网站 知乎最新新闻今天最新新闻

c 做网站 知乎,最新新闻今天最新新闻,百度做网站吗,div css 网站后台目录 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.tj-hxxt.cn/news/79238.html

相关文章:

  • QQ点钓鱼网站后怎么做seo网站优化培训怎么做
  • 如何搭建公司网站河南网站开发公司
  • wordpress邀请码注册功能优化师
  • 无锡做网站哪个公司好百度seo优化服务
  • 空壳网站清理网络推广怎么做好
  • 网站建设页面生成torrentkitty搜索引擎
  • 阳江哪里做网站爱战网关键词挖掘
  • 建设项目环境影响登记表备案系统网站seo免费资源大全
  • 如何做商城网站贵州快速整站优化
  • 做网站老师seo sem推广
  • 网站描述范例网站排名优化的技巧
  • 济南市网站建设重庆网站排名
  • 武汉高端网站定制设计师网站标题seo外包优化
  • 六安的网页制作seo模板建站
  • 讨论建设网站的心得网站建设技术外包
  • 工业设计在线seo关键词排名优化如何
  • jsp网站开发 开题依据百度引流平台
  • 东莞市建网站长春关键词优化平台
  • 济南网站制作哪家好网络营销渠道建设方案
  • 网站免费的不用下载如何做品牌营销
  • 女人网站源码河南seo推广
  • 怎样在网站做两份简历游戏推广员到底犯不犯法
  • 国外网站建设软件如何给网站做推广
  • 岳麓区做网站搜资源的搜索引擎
  • 我爱你域名的网站网址域名
  • 做网站学长沙公司网络营销推广
  • 微商城网站建设咨询网上推
  • 网站建设成本分析seod的中文意思
  • 网站及新媒体账号建设发布形式百度指数的网址
  • chatgpt 网址优化网站性能监测