![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
文章平均质量分 70
FiveWords
努力变强!
展开
-
leetcode-17- 数字号码的字母组合
题目分析使用递归调用的方式进行遍历,那么递归的规律是什么呢?要将字符串扩展,我们必须拿出一个数字然后将数字代表的字母添加到字符串之后,那么每拿出一个数字,我们将要添加3-4次循环,每次循环一个字母进原字符串,那么答案也就出来了。java代码Map<String,String> phone = new HashMap<String,String>(){{ ...原创 2020-03-13 22:03:54 · 541 阅读 · 0 评论 -
leetcode-14 最长公共前缀
题目分析最长公共前缀,无非就是公共子串位于开头,那么我们就可以使用indexOf这个方法来寻找公共子串。逐个比较,然后截短公共子串即可。Java代码public String longestCommonPrefix(String[] strs) { if(strs.length<=0){ return ""; } ...原创 2020-03-10 14:29:55 · 60 阅读 · 0 评论 -
leetcode-10 正则表达式的匹配
java代码class Solution { public boolean isMatch(String str, String pattern) { if (str == null || pattern == null) { return true; } int strIndex = 0; int ...原创 2020-03-09 17:07:38 · 91 阅读 · 0 评论 -
leetcode6 - Z字形变换
java代码方法1public String convert(String s, int numRows) { // 处理1 行的特殊情况 if (numRows == 1) return s; // 使用 新的空间保存非空行 List<StringBuffer> rows = new ArrayList<>...原创 2020-03-06 16:42:52 · 116 阅读 · 0 评论 -
leetcode5 最长回文子串
Java代码方法一public String longestPalindrome(String s) { if (s == null || s.length() < 1) return ""; int start = 0; int end = 0; for(int i=0;i<s.length();i++){ ...原创 2020-03-06 15:47:10 · 53 阅读 · 0 评论 -
剑指offer 第一次只出现一次的字符
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).题目分析两次扫描,第一次建立哈希表(key:字符——value:次数),第二次寻找出现一次的字符java代码public int FirstNotRepeatingChar(String str) { i...原创 2020-02-07 17:14:37 · 57 阅读 · 0 评论 -
剑指offer 字符串排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。题目分析要打印所有的字符串排列,其实是将字符串中的每一个字母与后面的字母进行交换所有中间节点的值。我们可以从递归的角度进行考虑,他其实是函数F,F的作用是将字符串的首字母与后面的每一个字符交换,如果后面没有字母,...原创 2020-02-05 19:36:16 · 93 阅读 · 0 评论 -
LeetCode161周赛-第一题-1247. 交换字符使得字符串相同
1247. 交换字符使得字符串相同题目描述:有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。交换只能发生在两个不同的字符串之间,绝对不能发生在同一个字符串内部。也就是说,我们可以交换 s1[i] 和 s2[j],但不能交换 s1[i] 和...原创 2019-11-04 19:31:15 · 649 阅读 · 0 评论