摘要: 给定一个二叉树,返回它的 前序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗? 思路: 与二叉树前序遍历类似. 1 class Solution144 { 2 3 List res = new ArrayList(); 4 5 //递归 6 pu... 阅读全文
posted @ 2019-03-08 12:44 散装英语king 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗? 1 class Solution94 { 2 3 List res = new ArrayList(); 4 5 6 //递归 7 public List inorder... 阅读全文
posted @ 2019-03-07 22:14 散装英语king 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 示例 2: 示例 3: 进阶: 你能用 O(1)(即,常量)内存解决此问题吗? 思路: 快慢指针,当两个指 阅读全文
posted @ 2019-03-05 15:19 散装英语king 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], ... 阅读全文
posted @ 2019-03-04 09:27 散装英语king 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移... 阅读全文
posted @ 2019-03-03 18:59 散装英语king 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2 1 class Solution169 { 2 3 /* 4 思路1: hashmap记录每个元素出现次数 5 */ ... 阅读全文
posted @ 2019-02-28 20:09 散装英语king 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4 思路: 异或 1 class Solution136 { 2 3 public int singleNumber(int... 阅读全文
posted @ 2019-02-27 19:26 散装英语king 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8 思路1: 0~n个数的总和 - 数组中所有数的和 = 缺失的数思路2: 异或 1 class Solution268 { 2 public int missingNu... 阅读全文
posted @ 2019-02-27 00:29 散装英语king 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7... 阅读全文
posted @ 2019-02-19 13:24 散装英语king 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc"注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 思路: 简单题 1.强行遍历逆置 2.正则,分割字符串,逆置 1 cla... 阅读全文
posted @ 2019-02-18 19:08 散装英语king 阅读(145) 评论(0) 推荐(0) 编辑