反转相同String []中的单词?

时间:2013-02-17 21:13:02

标签: java

在一次采访中我被问到这个问题。

如何在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 = {猫坐在沙发上}。

3 个答案:

答案 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;    
     }  

}