LeetCode第二十题-有效的括号】的更多相关文章

Valid Parentheses 问题简介: 给定一个只包含字符 ‘(’ , ‘)’ , ‘{’ , ‘}’ , ‘[’ , ‘]’ 的字符串,确定输入字符串是否有效 有效的条件: 必须使用相同类型的括号关闭左括号, 必须以正确的顺序关闭打开括号, 注意,空字符串也被视为有效. 举例 1. 输入: “()” 输出: true 2: 输入: “()[]” 输出: true 3: 输入: “(]” 输出: false 4: 输入: “([)]” 输出: false 5: 输入: “{[]}” 输出…
Generate Parentheses 问题简介: 给定n对括号,编写一个函数来生成格式正确的括号的所有组合. 举例: 给定n = 2,解集是: [ “()()”, “(())” ] 给定n = 3,解集是: [ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 解法一: 通过递归将所有符合的情况添加到集合中,限制条件: 1.左括号的数量最大为n 2.当前字符串中的右括号数量不能大于左括号 解法二: 因为n个括号共2n个字符,也就是索引0到2…
class Solution { public: bool isValid(string s) { ,end=s.size()-; )//万万没想到,他把空字符串当成true了 return true; ];//歪方法,把左括号全部<0,右括号都>0,且同类型符号绝对值一样 ;i<end+;i++) { if(s[i]=='(') ss[i]=-; else if(s[i]==')') ss[i]=; else if(s[i]=='{') ss[i]=-; else if(s[i]=='…
Swap Nodes in Pairs 问题简介:给定链表,交换每两个相邻节点并返回链表. 举例: 输入:1->2->3->4 输出:2->1->4->3 链表结构: 解法一: 定义一个头节点的引用,然后遍历链表,当下一个节点存在时,每两个节点的数值交换 复杂度分析: 时间复杂度:o(n)遍历一遍链表长度 空间复杂度:o(1)占用的空间为定值 小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海…
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n. 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素. 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6] void merge(int* nums…
Problem:Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype s…
Merge k Sorted Lists 问题简介:合并k个已排序的链表并将其作为一个排序链表返回. 举例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 链表结构: 解法一: 建立一个集合,遍历所有链表,将其元素添加到集合中,将集合通过数组的方式升序排序,将其添加到一个新的链表中并返回 复杂度分析: 时间复杂度:o(n2)外层遍历一遍数组内层遍历链表的元素,即双层…
Merge Two Sorted Lists 问题简介:合并两个已排序的链表并将其作为新链表返回 举例: 输入: 1->3->5, 1->2->4 输出: 1->1->2->3->4->5 链表结构: 解法一: 定义一个头节点,遍历一遍两个链表,每次比较两个节点的值,添加值小的节点,注意非空判断 复杂度分析: 时间复杂度:o(n) 遍历一遍两个链表的长度 空间复杂度:o(n)定义一个变量,定义两个链表长度的节点 小白刷题之路,请多指教— — 要么大器晚…
Regular Expression Matching 问题简介:给定字符串,给定匹配模式,判断字符串是否满足匹配模式 问题详解:一共有两种特殊模式: ‘.’ 匹配任何单个字符 ‘*’ 匹配前面元素的零个或多个 注:匹配的是整个给定字符串,不是部分 举例: 1: 输入: s = “aa” p = “a” 输出: false 解释: “a” 不匹配 “aa”. 2: 输入: s = “aa” p = “a*” 输出: true 解释: ‘*’ 代表 0 或多个字符 ‘a’ 3: 输入: s = “…
题目从难到易记录.解题过程中,如果不太熟悉,可以将题目中的表自己手动录入到自己的数据库中,就方便学习,测试. 185. Department Top Three Salaries 要求就是查询出每个部门工资在前三的人.题意值得注意的一点就是,要求找出的是工资数前三的人,而不是工资最高的前三位.区别就是前者查询出来的人可能大于3,而后者最大只能为3. 最终答案: select b.Name Department,a.Name Employee,a.Salary from (select Name,…