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

济南市商务局官方网站城建网官网

济南市商务局官方网站,城建网官网,如何 做网站,软件技术专业介绍及就业方向目录 1. 翻转二叉树 ★★ 2. 最长公共前缀 ★★ 3. 2的幂 ★ 1. 翻转二叉树 翻转一棵二叉树。 示例 1: 输入: 4/ \2 7/ \ / \ 1 3 6 9 输出: 4/ \7 2/ \ / \ 9 6 3 1示例 2: 输入: 1…

目录

1. 翻转二叉树  ★★

2. 最长公共前缀  ★★

3. 2的幂 ★


1. 翻转二叉树

翻转一棵二叉树。

示例 1:

输入:

     4/   \2     7/ \   / \
1   3 6   9

输出:

     4/   \7     2/ \   / \
9   6 3   1

示例 2:

输入:

          1/   \2     3/     / \4     5   6\7

输出:

          1/   \3     2/ \     \6   5     4/7

代码:

class TreeNode:def __init__(self, val):self.val = valself.left = Noneself.right = Noneclass Solution(object):def invertTree(self, root):""":type root: TreeNode:rtype: TreeNode"""if not root:return Noneroot.left, root.right = root.right, root.leftself.invertTree(root.left)self.invertTree(root.right)return rootdef listToTree(lst: list) -> TreeNode:if not lst:return Noneroot = TreeNode(lst[0])queue = [root]i = 1while i < len(lst):node = queue.pop(0)if lst[i] is not None:node.left = TreeNode(lst[i])queue.append(node.left)i += 1if i < len(lst) and lst[i] is not None:node.right = TreeNode(lst[i])queue.append(node.right)i += 1return rootdef inorderTraversal(root: TreeNode) -> list:if not root:return []res = []res += inorderTraversal(root.left)res.append(root.val)res += inorderTraversal(root.right)return res# %%
s = Solution()lst = [4, 2, 7, 1, 3, 6, 9]
root = listToTree(lst)
print(inorderTraversal(root))
root = s.invertTree(root)
print(inorderTraversal(root))lst = [1, 2, 3, 4, None, 5, 6, None, None, None, None, None, 7]
root = listToTree(lst)
print(inorderTraversal(root))
root = s.invertTree(root)
print(inorderTraversal(root))

输出:

[1, 2, 3, 4, 6, 7, 9]
[9, 7, 6, 4, 3, 2, 1]
[4, 2, 1, 5, 3, 6, 7]
[7, 6, 3, 5, 1, 2, 4]


翻转二叉树的非递归实现

def invertTree(root: TreeNode) -> TreeNode:
    if not root:
        return None
    stack = [root]
    while stack:
        node = stack.pop()
        if node:
            node.left, node.right = node.right, node.left
            stack.append(node.left)
            stack.append(node.right)
    return root


2. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

示例 1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

提示:

  • 0 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] 仅由小写英文字母组成

代码:

from typing import Listclass Solution:def longestCommonPrefix(self, strs: List[str]) -> str:if len(strs) == 0:return ''i = 0lcp = []while True:done = Falseif i >= len(strs[0]):breakj = 0while j < len(strs):if i < len(strs[j]):if strs[j][i] != strs[0][i]:done = Truebreakelse:done = Truebreakj += 1if not done:lcp.append(strs[0][i])i += 1else:breakreturn ''.join(lcp)# %%
s = Solution()
print(s.longestCommonPrefix(strs = ["flower","flow","flight"]))

输出:

fl


3. 2的幂

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。

如果存在一个整数 x 使得 n == 2^x ,则认为 n 是 2 的幂次方。

示例 1:

输入:n = 1
输出:true
解释:20 = 1

示例 2:

输入:n = 16
输出:true
解释:24 = 16

示例 3:

输入:n = 3
输出:false

示例 4:

输入:n = 4
输出:true

示例 5:

输入:n = 5
输出:false

提示:

  • -2^31 <= n <= 2^31 - 1

进阶:你能够不使用循环/递归解决此问题吗?

代码:

class Solution:def isPowerOfTwo(self, n):z = bin(n)[2:]if z[0] != "1":return Falsefor item in z[1:]:if item != "0":return Falsereturn True# %%
s = Solution()print(s.isPowerOfTwo(1))
print(s.isPowerOfTwo(16))
print(s.isPowerOfTwo(3))
print(s.isPowerOfTwo(4))
print(s.isPowerOfTwo(5))

输出:

True
True
False
True
False


🌟 每日一练刷题专栏

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

 收藏,你的青睐是我努力的方向! 

✏️ 评论,你的意见是我进步的财富!  

C/C++ 每日一练 ​专栏

Python 每日一练 ​专栏

http://www.yayakq.cn/news/686712/

相关文章:

  • 网站流量怎么做网站特效模板
  • 做网站用商标吗自己做网站难吗
  • 网站谁家做得好企业网站的优劣势
  • 河南企业网站建设怎样建手机网站
  • 网站备案麻烦么高端外贸网站制作
  • 酒厂网站模板网站首页设计及运行效果
  • 世界杯网站建设wordpress资源网
  • 网站上线后所要做的事情中小企业网络需求分析
  • 建设银行网站查余额查询如何做网站本地服务器吗
  • 公司官网站怎么搞上海网站建设 seo
  • 百度在线做网站网页源代码怎么看懂
  • 国内自动化网站建设网站开发数据交互
  • 农业机械网站模板分销商城平台
  • 网站如何集成微信支付旅游网站建设的规模设想
  • 如何做网站的广州市移动网站建设服务公司
  • 花店网站建设需求山西项目网
  • 彩票网站APP建设公司建设网站的意义
  • 设计师案例网站抖音小程序电脑上怎么打开
  • 做网站卖机器怎么弄深圳坑梓网站建设
  • 京东联盟网站怎么做昆明网上房地产官网
  • 网站建商城wordpress添加下载
  • 网站建设 清远魔方网络邢台市信息产业集团有限公司
  • 关于建设招商网站的通知扬州注册公司
  • 贵阳自助建站软件拓者设计吧现代装修效果图
  • 网站推广渠道的类型文件标签wordpress
  • 临沂市建设局网站改版网站容易做吗
  • 如何建设网络营销网站数字营销公司排行榜
  • 东凤网站建设做视频网站违法么
  • 网站开发从哪开始学上海人才招聘网
  • 新网站怎么做才能可以在百度上搜索到做暖暖视频网站