刷题-CC150-Java实现
生活随笔
收集整理的這篇文章主要介紹了
刷题-CC150-Java实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
8.1
1.1 字符串互異
-
確定一個字符串的所有字符是否全都不同。
- 方法一:逐字符比較的方法。時間復雜度:O(n2)。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 方法二:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
1.2 原串翻轉
-
翻轉一個給定的字符串(可以使用單個過程變量)。
-
使用Array實現(xiàn)
import java.util.*;public class Reverse {public String reverseString(String iniString) {// write code herechar[] strArray = iniString.toCharArray();int low = 0, high = iniString.length()-1;while (low < high) {char tmp = strArray[low];strArray[low] = strArray[high];strArray[high] = tmp;low++;high--;}String tmpString = new String(strArray);return tmpString;} }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
-
使用StringBuilder
import java.util.*;public class Reverse {public String reverseString(String iniString) {// write code hereStringBuilder sb = new StringBuilder(iniString);int low = 0, high = sb.length()-1;while (low < high) {char tmp = sb.charAt(low);sb.setCharAt(low, sb.charAt(high));sb.setCharAt(high, tmp);low++;high--;} return sb.toString();} }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
-
1.3
-
確定其中一個字符串的字符重新排列后,能否變成另一個字符串。這里規(guī)定大小寫為不同字符,且考慮字符串重點空格。
import java.util.*;public class Same {public boolean checkSam(String stringA, String stringB) {// 優(yōu)化 - 如果兩個字符串長度不等,一定不可能if (stringA.length() != stringB.length())return false;return sortMy(stringA).equals(sortMy(stringB));}public String sortMy(String s) {char[] as = s.toCharArray();java.util.Arrays.sort(as);return new String(as);} }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
1.4 空格替換
-
空格替換
import java.util.*;public class Replacement {public String replaceSpace(String iniString, int length) {return iniString.replaceAll(" ", "%20");} }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
1.5 基本字符串壓縮
-
基本字符串壓縮
import java.util.*;public class Zipper {public String zipString(String iniString) {// write code hereString mystr = "";char last = iniString.charAt(0);int count = 1;for (int i=1; i<iniString.length(); i++) {if (iniString.charAt(i)==last) {count++;} else {mystr += last + "" + count;last = iniString.charAt(i);count = 1;}}mystr += last + "" + count;if (mystr.length() > iniString.length())return iniString;else {return mystr;}} }
總結
以上是生活随笔為你收集整理的刷题-CC150-Java实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指Offer——Java答案
- 下一篇: Xftp使用教程——问答方式