我有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
的顺序。根据我的研究,它可以通过两次通过,但我不知道如何实现它。就像我怎么能改变它来为逆转单词工作呢?
注意:我想在不使用任何内置库函数的情况下执行此操作
答案 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;
}
}