摘要: 给定 pushed 和 popped 两个序列,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。 示例 1: 输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我 阅读全文
posted @ 2019-08-27 22:59 GoAheadAQU 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 阅读全文
posted @ 2019-08-27 22:48 GoAheadAQU 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 注意: num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。 阅读全文
posted @ 2019-08-27 20:40 GoAheadAQU 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意:不能使用代码库中的排序函数来解决这道题。 思路: 0,1,2 排序。一次遍历,如果是0,则移动 阅读全文
posted @ 2019-08-16 15:57 GoAheadAQU 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 图中垂直线代表输入数组 [1,8,6,2,5,4 阅读全文
posted @ 2019-08-16 09:57 GoAheadAQU 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 阅读全文
posted @ 2019-08-16 09:50 GoAheadAQU 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 思路: 这道题最主要的就是注意反转之后会溢出,所以在反转期间要注意每次操作是否造成溢出 复杂度分析 时间复杂度:O(log(x)),x 中大约有 log10(x)位数字 空间复杂度:O(1)。 作者:LeetCode链接:ht 阅读全文
posted @ 2019-08-16 09:43 GoAheadAQU 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 思路: 通过使用 HashSet 作为滑动窗口,我们可以用 O(1) 的时间来完成对字符是否在当前的子字符串中的检查。 滑动窗口是数组/字符串问题中常用的抽象概念。 窗口通常是在数组/字符串中由开始和结束索引定义的一系列元素的集合,即 阅读全文
posted @ 2019-08-16 09:34 GoAheadAQU 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 思路: 将当前结点初始化为返回列表的 阅读全文
posted @ 2019-08-16 09:25 GoAheadAQU 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 二叉树算法的设计的总路线:明确一个节点要做的事情,然后剩下的事抛给框架。 举两个简单的例子体会一下这个思路,热热身。 1. 如何把二叉树所有的节点中的值加一? 2. 如何判断两棵二叉树是否完全相同? 阅读全文
posted @ 2019-07-18 08:30 GoAheadAQU 阅读(364) 评论(0) 推荐(0) 编辑