
leecode
loonslo_
励志搬砖中
展开
-
leecode刷题笔记 344. 反转字符串
1原创 2019-04-12 21:35:19 · 240 阅读 · 0 评论 -
leecode刷题笔记 122. 买卖股票的最佳时机 II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获...原创 2019-05-04 19:39:12 · 227 阅读 · 0 评论 -
leecode刷题笔记 21. 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:直接使用递归即可# Definition for singly-linked list.# class ListNode:# def __...原创 2019-04-28 23:49:31 · 230 阅读 · 0 评论 -
leecode刷题笔记 169. 求众数
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2思路先用字典记录列表中所有数字出现的次数,然后从字典中,依次迭代找出出现次数大于n/2的class Solution: ...原创 2019-04-23 15:05:10 · 233 阅读 · 0 评论 -
leecode刷题笔记 206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?递归思路:随意取一个中间结点K,要使K+1指向K结点,需要将K.next.next = K, K.next = Null依次递归,到第一个结...原创 2019-04-23 00:17:04 · 249 阅读 · 0 评论 -
leecode刷题笔记 9.回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你...原创 2019-04-26 14:52:42 · 232 阅读 · 0 评论 -
leecode刷题笔记 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4思路:异或可以用于奇偶判断,或者交换两个整数的值而不必用第三个参数这道题很适用异或class Soluti...原创 2019-04-13 19:54:15 · 300 阅读 · 0 评论 -
leecode刷题笔记 557. 反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。思路:直接通过切片[::-1],实现全部字符串的逆序,然后使用在分割成数组,...原创 2019-04-13 19:13:07 · 230 阅读 · 0 评论 -
leecode刷题笔记 292.Nim游戏
1原创 2019-04-12 21:33:50 · 178 阅读 · 0 评论 -
leecode刷题笔记 78. 子集
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]思路:使用回朔法class Solution: def subsets(self, n...原创 2019-04-11 14:44:19 · 198 阅读 · 0 评论 -
leecode刷题笔记 237. 删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入...原创 2019-04-11 15:01:09 · 194 阅读 · 0 评论 -
leecode刷题笔记 104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。思路:直接递归找到深度最大的,直接返回即可# Definition for a bi...原创 2019-04-11 16:11:48 · 171 阅读 · 0 评论 -
leecode刷题记录 腾讯精选练习50题
从通过率由高到低顺序进行刷题原创 2019-04-10 18:40:55 · 273 阅读 · 0 评论 -
leecode刷题笔记 235. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2...原创 2019-04-24 20:03:34 · 191 阅读 · 0 评论