![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leet字符串
ldd儆儆
这个作者很懒,什么都没留下…
展开
-
leet43:字符串相乘
public static String multiply(String num1, String num2) { if (num1.equals("0") || num2.equals("0")) { return "0"; } int[] res = new int[num1.length() + num2.length()]; for (in...原创 2019-12-23 16:33:54 · 95 阅读 · 0 评论 -
leet22:括号生成
public List<String> generateParenthesis(int n) { List<String> ans = new ArrayList<>(); backtrack(ans, "", 0, 0, n); return ans; } public static ...原创 2019-12-23 16:11:23 · 89 阅读 · 0 评论 -
leet5:5. 最长回文子串
动态规划public static String longestPalindrome(String s) { int len = s.length(); if (len <= 1) { return s; } int longestPalindrome = 1; String longestPalindromeStr = s.subs...原创 2019-12-23 16:06:26 · 135 阅读 · 0 评论 -
leet1189:“气球” 的最大数量
public int maxNumberOfBalloon1s(String text) { char[] chars = text.toCharArray(); HashMap<Character,Integer> map = new HashMap<>(); for (int i = 0; i <chars.length ; i++) {...原创 2019-12-23 16:00:16 · 131 阅读 · 0 评论 -
leet1071:字符串的最大公因子
public static String gcdOfStrings(String str1, String str2) { if (!(str1 + str2).endsWith(str2 + str1 )) return ""; else { int startSubLen = maxFactor(str1.length(), str2.leng...原创 2019-12-23 15:43:17 · 98 阅读 · 0 评论 -
leet819:最常见的单词
public static String mostCommonWord(String paragraph, String[] banned) {//11ms paragraph += "."; Set<String> banset = new HashSet(); for (String word: banned) banset.ad...原创 2019-12-23 14:53:41 · 90 阅读 · 0 评论 -
leet551:学生出勤记录 I
public static boolean checkRecord(String s) { int count = 0; for(int i=0;i<s.length() && count<2 ;i++) if(s.charAt(i)=='A') count++; return count<2 &a...原创 2019-12-23 14:20:48 · 84 阅读 · 0 评论 -
leet520:检测大写字母
public static boolean detectCapitalUse(String word) { //aaaa char[] words = word.toCharArray(); int end = words.length-1; if(words[end] - 'Z'>0){ for (int i =word.length()-...原创 2019-12-23 14:13:33 · 83 阅读 · 0 评论 -
leet459:重复的子字符串
public boolean repeatedSubstringPattern(String s) {//48ms return s.matches("(\\w+)\\1+");}public static boolean repeatedSubstringPattern(String s) { String str = s + s; return str.subs...原创 2019-12-23 13:54:45 · 85 阅读 · 0 评论 -
leet345:反转字符串中的元音字母
private final static HashSet<Character> vowel = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));public String reverseVowels(String s) { int start = 0;...原创 2019-12-23 11:46:23 · 143 阅读 · 0 评论 -
leet58:最后一个单词的长度
public static int lengthOfLastWord(String s) {String s2 = s.replaceAll("[ ]", "");if (s2.equals("")) return 0;String[] s1 = s.split(" ");return s1[s1.length-1].length();}public static int l...原创 2019-12-23 11:17:03 · 89 阅读 · 0 评论 -
leet20:有效的括号
private static final Map<Character,Character> map = new HashMap<Character, Character>(){{ put('{','}'); put('(',')'); put('[',']');}};public static boolean isValid(String s...原创 2019-12-23 10:55:16 · 165 阅读 · 0 评论 -
leet14:最长公共前缀
public static String longestCommonPrefix1(String[] strs) { String prefix = strs[0]; for (int i = 1; i < strs.length; i++) while (strs[i].indexOf(prefix) != 0) { prefix...原创 2019-12-23 10:32:14 · 90 阅读 · 0 评论 -
leet443: 压缩字符串
public static int compress(char[] chars) { int anchor = 0, write = 0; for (int read = 0; read < chars.length; read++) { if (read + 1 == chars.length || chars[read + 1] != chars[re...原创 2019-12-11 15:33:45 · 172 阅读 · 0 评论 -
leet657机器人能否返回原点
官方给的题解//7ms public static boolean judgeCircle(String moves) { int x = 0, y = 0; for(char move:moves.toCharArray()) { if (move == 'U') y--; else if (move == 'D') y++; ...原创 2019-12-09 11:51:55 · 77 阅读 · 0 评论 -
leet383赎金信
意思就是ransom上的字符必须是由magazines字符串里面组成的,并且字符只能够出现一次//1mspublic boolean canConstruct(String ransomNote, String magazine) { int[] words = new int[26]; for(int i = 0; i < ransomNote.lengt...原创 2019-12-09 11:20:51 · 74 阅读 · 0 评论 -
leet917仅仅反转字母
开始做这道题的时候,就想到使用双指针解决这个问题,但是总是想在S字符串中原地修改,直接替换得到结果,却忽略了字符串是个final类型。其实也可以不进行替换,直接从字符串的末端开始遍历,前提是字符串的首段保证是个字符即可。//1mspublic static String reverseOnlyLetters(String S) { int end = S.length()-1; ...原创 2019-12-09 10:25:12 · 93 阅读 · 0 评论 -
leet557反转字符串中的单词 III
使用自带的split和reverse//11ms public static String reverseWords(String s) { String[] words = s.split(" "); StringBuilder res =new StringBuilder(); for (String word:words) { ...原创 2019-12-08 16:29:56 · 84 阅读 · 0 评论 -
leet434字符串中的单词数
使用//s+//2ms public int countSegments(String s) { String trimmed = s.trim(); if (trimmed.equals("")) { return 0; } return trimmed.split("\\s+").length;...原创 2019-12-08 15:51:02 · 90 阅读 · 0 评论 -
leet38报数
String s="1"; if(n==1) return s; for(int i=2;i<=n;i++) { StringBuilder str=new StringBuilder(); char pre=s.charAt(0); //取第一个字符作为初始判断...原创 2019-12-16 11:44:51 · 85 阅读 · 0 评论 -
leet151:翻转字符串
public static String reverseWords(String s) { String [] revStr = s.split(" "); StringBuilder res =new StringBuilder(); for (int i = revStr.length-1; i >=0 ; i--) { if(!revStr...原创 2019-12-16 11:45:11 · 101 阅读 · 0 评论 -
leet242 有效的字母异位词
根据题目的意思,字母异位词是指由相同的字母按照不同的顺序组成的单词,根据此含义,那么这两个单词的长度也一定相等,所以我们就可以先将两个单词按照字母的大小进行排序,然后比较两个单词对应位置上的字母是否相等。//4mspublic boolean isAnagram(String s, String t) { if (s.length() != t.length()) r...原创 2019-12-16 11:45:22 · 98 阅读 · 0 评论 -
leet387:字符串中第唯一一个字符
由于题意中说只有小写字母,因此新建一个数组长度26,一一地去映射字符串中的字符之后再去判断数组值 运行是7mspublic int firstUniqChar(String s) { int[] chnum = new int[26]; for(int i=0;i<26;i++) chnum[i] = 0; for...原创 2019-12-16 13:43:14 · 87 阅读 · 0 评论 -
leet344反转字符串
这个题我使用的就是双指针,不过还有一种异或,都差不多双指针:public static void reverseString(char[] s) { int len = s.length; int j = 0; for(int i =len-1;i>=len/2;i--,j++){ char temp = s[i]; s[i] = ...原创 2019-12-16 11:46:11 · 77 阅读 · 0 评论 -
leet125leet680:验证回文串
我的代码:运行都是通过StringBuilder反转public static boolean isPalindrome(String s) { String regEx="[^a-z0-9]"; String filterStr = s.toLowerCase().replaceAll(regEx, ""); System.out.println("filterSt...原创 2019-12-16 11:46:29 · 98 阅读 · 0 评论