【Leetcode 345. 反转字符串中的元音字母 By Python】教程文章相关的互联网学习教程文章

渣渣的Leetcode之旅(Python3)_1.两数之和

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]代码: class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for i in range(0,len(nums)-1):for j in...

leetcode平方数之和(python3)【代码】

题目描述: 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 输出: False代码实现:方法一:解题思路:双指针,判断并不断调整a,b的值 时间复杂度:先计算最大a值,然后计算b值,后进行微调。接近O(a + b) 。只用了两个变量,空间复杂度:O(1)。 ? 1 class Solution(object):2 def judgeSquareSum(self, c):3 """4 ...

LeetCode 112. 路径总和 | Python【代码】【图】

112. 路径总和题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/path-sum 题目给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22,5/ 4 8/ / 11 13 4/ \ 7 2 1返回 true, 因为存在目标和为 22 的根节点到叶子节点的路...

LeetCode 63. 不同路径 II | Python【代码】【图】

63. 不同路径 II题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/unique-paths-ii题目一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?图源来自:LeetCode 63. 不同路径 II网格中的障碍物和空位置分别用 1 和 0 来...

LeetCode 108. 将有序数组转换为二叉搜索树 | Python【代码】【图】

108. 将有序数组转换为二叉搜索树题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:0/ -3 9/ /-10 5 解题思路思路:递归 先看题目所给出的要求以及限制。将按照升序排列的有序数组,转换...

LeetCode 剑指 Offer 09. 用两个栈实现队列 | Python【代码】【图】

剑指 Offer 09. 用两个栈实现队列题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof 题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]] 输...

LeetCode | 0100. Same Tree 相同的树【Python】【代码】

LeetCode 0100. Same Tree 相同的树【Easy】【Python】【二叉树】Problem LeetCode Given two binary trees, write a function to check if they are the same or not. Two binary trees are considered the same if they are structurally identical and the nodes have the same value. Example 1: Input: 1 1/ \ / 2 3 2 3[1,2,3], [1,2,3]Output: trueExample 2: Input: 1 1...

LeetCode 297. 二叉树的序列化与反序列化 | Python【代码】【图】

297. 二叉树的序列化与反序列化题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree 题目序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需...

LeetCode 128. 最长连续序列 | Python【代码】【图】

128. 最长连续序列题目给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 解题思路思路:哈希表 本题主要的难点在于算法时间复杂度限定为 O(n) 的方法上。 先假设一般的情况下。可以尝试枚举数组中每个元素 i,以其起点不断尝试匹配 +1,+2 ... 是否存在于数组中,这样不断枚举并更新最大的长度。...

LeetCode 287. 寻找重复数 | Python【代码】【图】

287. 寻找重复数题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/find-the-duplicate-number 题目给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 输入: [1,3,4,2,2] 输出: 2示例 2: 输入: [3,1,3,4,2] 输出: 3说明:不能更改原数组(假设数组是只读的)。 只能使用额外的 O(1) 的空间。 时间复杂度...

leetcode557. 反转字符串中的单词 III python,处理字符串的神!【代码】

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: "Lets take LeetCode contest" 输出: "steL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 思路:python处理,先split分割为列表,再用列表生成式把每一项翻转,再用join拼起来即可。class Solution:def reverseWords(self, s: str) -> str:return " ".join(wor...

LeetCode 84. 柱状图中最大的矩形 | Python【代码】【图】

84. 柱状图中最大的矩形题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/largest-rectangle-in-histogram/ 题目给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 示例: 输入: [2,1,5,6,...

Leetcode练习(Python):第326题:3的幂:给定一个整数,写一个函数来判断它是否是 3 的幂次方。

题目: 3的幂:给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 输入: 27输出: true示例 2: 输入: 0输出: false示例 3: 输入: 9输出: true示例 4: 输入: 45输出: false进阶:你能不使用循环或者递归来完成本题吗? 思路: 思路较简单。 程序:class Solution:def isPowerOfThree(self, n: int) -> bool:if n == 0:return Falseif n == 1:return Trueif n == 2:return Falsewhile n != 1:if n % 3 == 0:n = n // 3els...

Leetcode练习(Python):第342题:4的幂:给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。【代码】

题目: 4的幂:给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 输入: 16 输出: true示例 2: 输入: 5 输出: false 进阶:你能不使用循环或者递归来完成本题吗? 思路: 思路较简单。 程序:class Solution:def isPowerOfFour(self, num: int) -> bool:if num == 0:return Falseif num == 1:return Trueif num == 2:return Falseif num == 3:return Falsewhile num != 1:if num % 4 == 0:num =...

Leetcode练习(Python):滑动窗口:第239题:滑动窗口最大值:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字

题目: 滑动窗口最大值:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶: 你能在线性时间复杂度内解决此题吗? 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 ...