LeetCode字符串部分
Tag: String
Leo木
这个作者很懒,什么都没留下…
展开
-
Leetcode 20 有效的括号
问题描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足1)左括号必须用相同类型的右括号闭合2)左括号必须以正确的顺序闭合3)空字符例:输入: “()”输出: true思路:简单题,直接使用栈,左括号直接入栈,遇到右括号时判断括号是否匹配,匹配则将栈顶元素出栈,继续匹配;否则失败。class Solution { public boolean isValid(String s) { if(s == nu原创 2020-07-08 18:47:44 · 102 阅读 · 0 评论 -
Leetcode17 电话号码的数字组合
问题描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].思考:可以看出,输入一个数字,有3种结果;输入2个数字,有32种结果;归纳可得对于n (0<n<9) 个数字来说,输出应该有3n个结果。显然简单的循环(nk)无法满足这一要求,容易联想到树结构,完全树的第原创 2020-06-30 17:38:35 · 185 阅读 · 0 评论 -
LeetCode14 最大公共前缀
问题描述:编写一个函数找出字符串数组中的最大公共前缀,若不存在,返回空字符串。例[“flower”, “flow”, “flight”]返回"fl"。思路:(假设S为字符数组字符个数,m…为字符串长度,n为字符串个数)遍历对比法从头开始两个对比得出公共前缀,在后续遍历过程中不断将前缀与每个字符做比较,存在该后缀直接后移比较,否则删减前缀继续比较,直至得出空字符串或最小公共前缀。时间...原创 2019-12-18 10:27:00 · 232 阅读 · 0 评论 -
LeetCode13 罗马数字转整数
问题描述:将罗马数字转换成整数思路:方法一设置目标整数tar初始为0。遍历字符串,如果当前罗马字符比下一字符大,tar加上该罗马数字对应整数,反之减去该值。方法二:将所有罗马数字对应整数情况进行映射,在遍历字符串的过程中判断是否出现双字符对应情况,出现则加双字符对应值,否则加单字符对应值。//java//方法一class Solution { publi...原创 2019-12-16 19:45:40 · 98 阅读 · 0 评论 -
LeetCode10 正则表达式匹配
问题:给定匹配串s和模式串p(只包含.和*模式),确定s是否与p匹配.例:(. 表示任一字符匹配,* 表示p前一字符0次以上匹配)s = “aaa”, p = “a*”,匹配;s = “ad”, p = “aab",匹配,;s = “absw”, p = ".”,匹配;s = “aabb”, p = “a*b”,不匹配;思路:递归法首先考虑字符串为空情况:当p为空时,那...原创 2019-12-10 17:41:28 · 98 阅读 · 0 评论 -
LeetCode08 字符串转整数
问题描述:将一个字符串转换为整数,转换时会丢弃开头无用空白字符,若首字符为+,-,或数字,转换为相应的正负数,否则返回0,数字后面如果存在其他非数字字符,则舍弃。例:" 142a"输出为142" -10 k"输出为-10"ws120"输出为0注意:假设可转换整型大小为32位,如果转换数据超出范围,返回最大最小值[-231, 231-1]。思路:考察到所有情况即可先将字符...原创 2019-12-06 15:11:12 · 90 阅读 · 0 评论 -
LeetCode06:Z字形变换
问题描述:输入一个字符串和给定数字nums,将字符串用长为nums的Z字形型展开,输出转换后的字符序列。例:“PAHPZAISH”, 3P____P____SA _H_Z__I__HH____A输出:PPSAHZIHHA思路:Z字入桶把构建的Z字形按行看,每行对应一个桶,只要以Z字形将字符串按序投入桶内即可。时间复杂度:o(n)空间复杂度:o(n)按行输出...原创 2019-11-29 15:40:15 · 155 阅读 · 0 评论 -
LeetCode05:最大回文子串
问题描述:给定一个字符串,找到字符串中的最长回文子串。思路:暴力求解描述:枚举所有子串,判断是否为回文子串,并设置全局最大长度回文子串,在遍历过程中不断更新。时间复杂度:o(n3)空间复杂度:o(n)最长公共子串(二维打表)描述:设置二维表记录原字符串与反转字符串对比情况,在比较过程中动态的记录回文子串的长度。时间复杂度:o(n2)空间复杂度:o(n2)(可通过一...原创 2019-11-23 19:51:06 · 136 阅读 · 0 评论 -
Leetcode03无重复字符最长子串
问题描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。思路:动态指针(滑动窗口):设置首尾指针,初始指向首字符,同时设置最长子串长度max。尾指针后移,若所指新字符不为重复字符,继续后移;否则停止后移,但首指针后移,直至子串中没有重复指针。重复上述步骤直至遍历结束。//cpp动态指针class Solution {public: int lengthO...原创 2019-10-13 19:27:06 · 169 阅读 · 0 评论