LeetCode
绿芽在山顶
记录个人学习历程~
展开
-
LeetCode_1143_最长公共子序列
算法课上讲动态规划,提到了这个问题,下课赶快动手做一下。给定两个字符串text1 和text2,返回这两个字符串的最长公共子序列。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公...原创 2019-11-03 19:04:40 · 157 阅读 · 0 评论 -
LeetCode_70_climbStairs
假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 +...原创 2019-10-17 19:22:31 · 108 阅读 · 0 评论 -
LeetCode_9_isPalindrome 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你...原创 2019-10-15 18:41:45 · 309 阅读 · 0 评论 -
LeetCode_21_mergeTwoLists 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路按序比较两个链表的值,把小的放入新链表。注意:1.使用哑结点2.后面当某个链表非空时,可以直接将剩余的部分链接到新链表后面,不需要再创建一...原创 2019-10-12 17:45:54 · 306 阅读 · 0 评论 -
LeetCode_20_isValid 有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: ...原创 2019-10-12 17:29:07 · 121 阅读 · 0 评论 -
LeetCode_4_findMedianSortedArrays
给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (...原创 2019-10-10 23:12:51 · 165 阅读 · 0 评论 -
LeetCode_3_lengthOfLongestSubstring
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是...原创 2019-10-09 10:54:30 · 139 阅读 · 0 评论 -
LeetCode_2_addTwoNumbers
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 ...原创 2019-10-09 10:20:27 · 73 阅读 · 0 评论 -
LeetCode_1_TwoSum
题目描述给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 ...原创 2019-10-09 09:47:51 · 63 阅读 · 0 评论