字符串常见题⽬
☆1.模拟⼀个trim()⽅法,去除字符串两端的空格。
public String myTrim(String str){
int start = 0;
int end = str.length() - 1;
while(start < end && str.charAt(start) == ' '){
start++;
}
while(start < end && str.charAt(end) == ' '){
end--;
}
if(start == end && str.charAt(start) == ' '){
return "";
}
return str.substring(start, end + 1);
}
2.将⼀个字符串反转,将字符串中指定部分进⾏反转。⽐如“ab cdef g”反转为“ab fedc g”。
public String myReverse(String str, int start, int end){
char[] charArray = CharArray();
while (start < end){
char temp = charArray[start];
charArray[start] = charArray[end];
charArray[end] = temp;
start++;
end--;
}
return new String(charArray);
}
Note:需要加上边界条件,"str != null"
3.获取⼀个字符串在另⼀个字符串中出现的次数。⽐如获取“ab”在“abskfjdlabajbalkjab”中出现的次数。// 三种⽅法
public int myCount3(String str1, String str2){
int count = 0;
int index = 0;
while (str2.indexOf(str1,index) != -1){
count++;
index = str2.indexOf(str1,index) + str1.length();
}
return count;
字符串函数编程题}
public int myCount2(String str1, String str2){
int count = 0;
while (str2.indexOf(str1) != -1){
count++;
str2 = str2.substring(str2.indexOf(str1) + str1.length());
}
return count;
}
public int myCount1(String str1, String str2){
int count = 0;
int index2 = 0;
int len = str1.length();
while (index2 < str2.length()){
if (str2.charAt(index2) == str1.charAt(0)){
String temp = str2.substring(index2,index2+len);
if (temp.equals(str1)){
count++;
index2 += len;
continue;
}
}
index2++;
}
return count;
}
☆☆4.获取两个字符串中最⼤相同字串,例s1="asdafghjka", s2="aaasdfg" 他们的最⼤⼦串为"asd" 。(假设最⼤字串只有⼀个,如果有多个⽤list添加)
最优解思路:将短的那个串长度依次递减的字串与长串⽐较!
public String mySubString(String str1,String str2){
String longStr = str1.length() >= str2.length() ? str1 : str2;
String shortStr = str1.length() < str2.length() ? str1 : str2;
int len = shortStr.length();
for (int i = 0; i < len; i++) {
for (int x = 0,y=len-i; y <= len; x++,y++) {
String temp = shortStr.substring(x,y);
if (ains(temp)){ //str1.indexOf(temp) != -1
return temp;
}
}
}
return null;
}
Note:需要加上边界条件,"str != null"
5.对字符串中的字符进⾏⾃然顺序排序。
思路:转化为字符数组进⾏排序。
public String mySort(String str){
char[] charArray = CharArray();
Arrays.sort(charArray);
return new String(charArray);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论