
leetcode题解
leetcode题解集合,持续更新中
sunidol
这个作者很懒,什么都没留下…
展开
-
leetcode 101. 对称二叉树
101. 对称二叉树题目描述给定一个二叉树,检查它是否是镜像对称的。例子:二叉树 [1,2,2,3,4,4,3] 是对称的。 1/ \2 2/ \ / \3 4 4 3解题思路1使用递归的思路解决,比较二叉树的对称性,首先就是比较根节点的左孩子和右孩子是否相等,接着如果将左孩子称为left,右孩子称为right,就是要比较left.left和right.right是否相等以及left.right和right.left是否相等原创 2020-07-12 11:26:28 · 219 阅读 · 0 评论 -
leetcode 1486 数组异或操作
1486. 数组异或操作题目描述给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。例子:输入:n = 5, start = 0输出:8解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 。“^” 为按位异或 XOR 运算符。解题思路pyhton 实现c原创 2020-06-22 01:02:48 · 299 阅读 · 0 评论 -
leetcode LCP 01 猜数字
LCP 01. 猜数字题目描述小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。示例:输入:guess = [1,2,3], answer = [1,2,3]输出:3解释:小A 每次都猜对了解题思路将两个数组对应位置分别比较,如果相同那么记一次数。原创 2020-06-22 00:34:33 · 263 阅读 · 0 评论 -
leetcode 面试题 02.03. 删除中间节点
面试题 02.03. 删除中间节点题目描述实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。解题思路题目里“假定你只能访问该节点”容易迷惑人,leetcode题解区的理解是:你不知道head节点是什么 所以没有办法像其他处理链表的题解一样 从head开始访问一路记下来每个节点的前一个节点,只能直接访问到他想要删除的节点和想要删除的节点后面的所有节点,所以我们需要像上面我写的这个方法一样操作要被删除的节点本身。按照这个理解就比较容易了。具体做法就是将该原创 2020-06-22 00:24:49 · 330 阅读 · 0 评论 -
leetcode 剑指 Offer 58 - II 左旋转字符串
剑指 Offer 58 - II. 左旋转字符串题目描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。解题思路获取字符串 s[n:]和s[n:] 切片,使用 “+” 运算符拼接并返回即可python3 实现class Solution(object): def reverseLeftWords(self, s, n):原创 2020-06-21 23:58:53 · 155 阅读 · 0 评论 -
leetcode 1470 重新排列数组
1470. 重新排列数组题目描述给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,…,xn,y1,y2,…,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,…,xn,yn] 格式重新排列,返回重排后的数组。示例:输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7]解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]解题思路数组长度为2n,那么每次插原创 2020-06-21 23:50:36 · 287 阅读 · 1 评论 -
leetcode 1431 拥有最多糖果的孩子
leetcode 1431. 拥有最多糖果的孩子题目描述给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。解题思路首先找到数组中最大的数,然后遍历糖果数组,数组里面的值加上extraCandies糖果数比这个最大的数要大的话,那么返回true,原创 2020-06-21 23:38:55 · 218 阅读 · 0 评论 -
leetcode 1480 一维数组的动态和
leetcode 1480:一维数组的动态和给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。示例1输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4]解题思路:res[i] = res[i-1] + nums[i],程序中使用res[-1]来表示列表的最后一个值,因此只需要注意下最开始res=[]时原创 2020-06-20 11:36:00 · 342 阅读 · 0 评论 -
leetcode 1 两数之和
题目地址:题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1...原创 2019-12-28 19:52:52 · 141 阅读 · 0 评论