
leetcode
白山魁
杨超越码农后援会
展开
-
136.只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例2: 输入: [4,1,2,1,2] 输出: 4 使用异或运算:2^2^7^5^5=7 (对应二进制位相同是为0,不同时为1;所以X^0=X) ...原创 2019-09-16 00:08:02 · 166 阅读 · 0 评论 -
538.把二叉搜索树转换为累加树
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 二叉搜索树: 5 / \ 2 13 输出: 转换为累加树: 18 / ...原创 2019-09-27 23:23:56 · 206 阅读 · 0 评论 -
70.爬楼梯
假设你正在爬楼梯。需要n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定n是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. ...原创 2019-09-26 23:05:39 · 143 阅读 · 0 评论 -
121.买卖股票的最佳时机
给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...原创 2019-09-25 23:03:45 · 184 阅读 · 0 评论 -
617.合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。 注意:合并必须从两个树的根节点开始。 示例1: 输入: Tree 1 Tree 2 ...原创 2019-09-24 22:54:52 · 145 阅读 · 0 评论 -
53.最大子序和
给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 动态规划:当前面的总和是负数的,加上去一定会使总和减小,不如从自己重新开始. 例如,[-2,1,-3,4,-1,2,1,-5,4] 1就不需要加...原创 2019-09-23 22:45:49 · 153 阅读 · 0 评论 -
21.合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4-> 适用于两个无头节点的的两个链表。建立了一个头节点用来指引新链表。因为不知道L1与L2两个链表的首元素哪个小。 P、Q分别是L1和L2的遍历指针,另外用一...原创 2019-09-21 22:42:10 · 185 阅读 · 0 评论 -
3.无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最...原创 2019-09-18 23:57:34 · 163 阅读 · 0 评论 -
2.两数相加
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -...原创 2019-09-17 23:06:04 · 144 阅读 · 0 评论 -
543.二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。 注意:两结点之间的路径长度是...原创 2019-09-28 22:52:08 · 148 阅读 · 0 评论