1
A
回答
0
從我的計算機某處被稱爲「Hacking a Google Interview」的東西拿來......不知道從哪裏得到它但我記得我在裏面看到了這個確切的問題......這裏是答案:
通過與最後 字符,第二個與第二 到最後一個字符,等等調換 第一個字符反向的字符串。 然後,通過查找 的字符串查找空格,以便找到每個單詞所在的位置 。將 中的每一個都反過來 用 最後一個字符交換第一個字符,第二個字符 用倒數第二個字符和 等等。
0
1
,如果你的一個「字」的定義是一系列非空白字符的空白字符包圍,然後以5秒的僞代碼,你這樣做:
var words = split(inputString, " ")
var reverse = new array
var count = words.count -1
var i = 0
while count != 0
reverse[i] = words[count]
count--
i++
return reverse
0
#include<stdio.h>
void reverse_word(char *,int,int);
int main()
{
char s[80],temp;
int l,i,k;
int lower,upper;
printf("Enter the ssentence\n");
gets(s);
l=strlen(s);
printf("%d\n",l);
k=l;
for(i=0;i<l;i++)
{
if(k<=i)
{temp=s[i];
s[i]=s[l-1-i];
s[l-1-i]=temp;}
k--;
}
printf("%s\n",s);
lower=0;
upper=0;
for(i=0;;i++)
{
if(s[i]==' '||s[i]=='\0')
{upper=i-1;
reverse_word(s,lower,upper);
lower=i+1;
}
if(s[i]=='\0')
break;
}
printf("%s",s);
return 0;
}
void reverse_word(char *s,int lower,int upper)
{
char temp;
//int i;
while(upper>lower)
{
temp=s[lower];
s[lower]=s[upper];
s[upper]=temp;
upper=upper-1;
lower=lower+1;
}
}
+0
這是我的程序。 – Sarwan 2013-10-17 09:57:36
0
下面的代碼(C++),將轉換的字符串this is a test
到test a is this
:
string reverseWords(string str)
{
string result = "";
vector<string> strs;
stringstream S(str);
string s;
while (S>>s)
strs.push_back(s);
reverse(strs.begin(), strs.end());
if (strs.size() > 0)
result = strs[0];
for(int i=1; i<strs.size(); i++)
result += " " + strs[i];
return result;
}
PS:它實際上是一個谷歌代碼果醬問題,更多信息可以發現here。
1
如果要考慮到還的空間,你可以做這樣的:
string word = "hello my name is";
string result="";
int k=word.size();
for (int j=word.size()-1; j>=0; j--)
{
while(word[j]!= ' ' && j>=0)
j--;
int end=k;
k=j+1;
int count=0;
if (j>=0)
{
int temp=j;
while (word[temp]==' '){
count++;
temp--;
}
j-=count;
}
else j=j+1;
result+=word.substr(k,end-k);
k-=count;
while(count!=0)
{
result+=' ';
count--;
}
}
它將打印出你"is name my hello"
相關問題
- 1. 如何反轉字符串中兩個單詞的順序?
- 2. 我需要此程序來查找Java中字符串中最長的單詞
- 3. 需要幫助調試我的代碼,以反轉字符串中的單詞
- 4. 保留單詞順序的單詞中的反轉字符
- 5. 需要一個應用程序來解決與轉義字符
- 6. 反轉字符串中的單詞的運行時間
- 7. 需要字符串的第二個單詞。怎麼做?
- 8. 如何反轉字符串中的單詞?
- 9. 如何使用python(手動)反轉字符串中的單詞?
- 10. 需要字符串包含幾個單詞,單詞的每一個字母將是大寫
- 11. 在不改變字詞順序的情況下反轉字符串中的每個單詞
- 12. 字符串中的一個單詞替換單詞
- 13. 我需要轉義這個MATLAB字符串中的字符嗎?
- 14. 如何調試我的程序以反轉一個單詞?
- 15. 我需要幫助來編寫一個程序,該程序需要用戶輸入並使用堆棧反轉。
- 16. 想要在某個單詞後分割一個字符串?
- 17. 的file_get_contents需要一個字符串
- 18. 識別字符串中單詞的第一個字符
- 19. 反轉java中字符串中單詞的簡單方法是什麼?
- 20. 我的程序中反轉字符串中單詞的順序有什麼問題?
- 21. 最短的C代碼來反轉一個字符串
- 22. 字符串轉換句子的單詞
- 23. 獲取每個單詞的第一個字符的字符串
- 24. ML - 反轉一個字符串;
- 25. 從一個單詞字符串中提取一個數字
- 26. 查找字符串中每個單詞的第一個字母
- 27. 從字符串中的一組單詞中出現一個單詞
- 28. 一個算法來判斷從列表中辨別出單詞需要多少個不同的主要字符?
- 29. 需要在c中的字符串中的「字」後得到一個字符串
- 30. 需要一個工具來替換多個文件中的字符串由另一個字符串
你問的問題,或者有人問你? – pavium 2009-10-30 00:02:25