在一次采访中我被问到这个问题。
如何在java中反转字符串中的单词?示例:String [] s =“坐在沙发上的猫”将转向s =“坐在猫上的沙发”修改相同的s
我说:public String reverse(String [] s){
String reverse = "";
for(int i = (s.length -1); i>=0; i--)
{
reverse = reverse + s[i] + " ";
}
return reverse;
}
采访者进一步说我不想使用任何字符串变量,例如: string reverse =“”;我需要修改相同的输入String [] s = {猫坐在沙发上}。
答案 0 :(得分:0)
这是我为您提供的链接中的代码。看看这个链接有多种方法可以做到这一点。虽然记住字符串是不可变的,除非你使用字符串等,否则你无法真正做到。
public String reverse(String s) {
String reverseStringVariable = "";
for (int i = s.length() - 1; i != -1; i--) {
reverseStringVariable += s.charAt(i);
}
return reverseStringVariable;
}
http://www.brilliantsheep.com/3-ways-to-reverse-a-string-in-java/
答案 1 :(得分:0)
您根本无法修改字符串对象,因为它不可变。如果你想做一些就地翻转单词的事情,最好使用char数组。
答案 2 :(得分:0)
public void reverse(String[] s) {
if(s == null || s.length <= 1) {
return;
}
String temp = null;
for(int i = s.length(), j = 0; i > j; i--,j++){
temp = result[j];
result[j] = result[i];
result[i] = temp;
}
}