扭转字符串的话

时间:2015-10-28 06:57:47

标签: c# string reverse words

我有Reversing string的以下代码:

static public string rever(string s)
{
string temp = "";
int i;
int j = 0;
  for (i = (s.Length - 1); i >= 0; i--)
  {
  temp += s[i];
  j++;
  }

return temp;
}

目前它会反转String,我希望它能够反转字符串中单词的顺序,例如

input string "I am good"

Output: "good am I"

我现在要做的只是Reverse我的字符串中Words的顺序。根据我的研究,它可以通过两次通过,但我不知道如何实现它。就像我怎么能改变它来为逆转单词工作呢?

注意:我想在不使用任何内置库函数的情况下执行此操作

1 个答案:

答案 0 :(得分:0)

我不知道两次传球。但这是一个非常简单的算法。

string s="I am good", temp="";
int i=s.length-1, t=0;
while(true){
 if(i<0)
  break;
 if(s[i]!=' '){
  i--;
  t++;
 }
 else{
  for(int i2=0;i2<t;i2++)
   temp+=s[i+i2+1];
  temp+=" ";
  t=0;
  i--;
 }
 if(i==-1&&t!=0){
  for(int i2=0;i2<t;i2++)
   temp+=s[i+i2+1];
  break;
 }
}