考点:本题考查字符串和知识迁移能力
题目一描述:翻转单词顺序
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。
思路:先分割,再倒序拼接字符串
public class Solution {
public String ReverseSentence(String str) {
if(str==null||str.length()==0)
return str;
//用空格对字符串进行分割
String a[] = str.split(" ");
if(a.length==0)
return str;
String p = "";
//倒序拼接字符串
for(int i=a.length-1;i>=0;i--){
if(i==0){
p = p+a[i];
}
else{
p = p+a[i]+" ";
}
}
return p;
}
}
题目二描述:左旋转字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
思路:提取子字符串再拼接
public class Solution {
public String LeftRotateString(String str,int n) {
if(str==null||str.length()==0)
return str;
String s1 = str.substring(0,n);
String s2 = str.substring(n,str.length());
return s2+s1;
}
}
网友评论