1
/// <summary>
2
/// 翻转字符串中的单词
3
/// ex.
4
/// I am chinese. -> I ma esenihc.
5
/// </summary>
6
/// <param name="strInput"></param>
7
/// <returns></returns>
8
static string ReverseWordInString(string strInput)
9
{
10
string strMeta = ". "; //不用反的 标点符号
11
StringBuilder strReturn = new StringBuilder();
12
Stack<char> stack = new Stack<char>();
13
foreach (char c in strInput)
14
{
15
if (strMeta.IndexOf(c) != -1)
16
{
17
while (stack.Count > 0)
18
{
19
strReturn.Append((char)stack.Pop());
20
}
21
strReturn.Append(c);
22
}
23
else
24
stack.Push(c);
25
}
26
27
return strReturn.ToString();
28
}
/// <summary>2
/// 翻转字符串中的单词3
/// ex. 4
/// I am chinese. -> I ma esenihc.5
/// </summary>6
/// <param name="strInput"></param>7
/// <returns></returns>8
static string ReverseWordInString(string strInput)9
{10
string strMeta = ". "; //不用反的 标点符号11
StringBuilder strReturn = new StringBuilder();12
Stack<char> stack = new Stack<char>();13
foreach (char c in strInput)14
{15
if (strMeta.IndexOf(c) != -1)16
{17
while (stack.Count > 0)18
{19
strReturn.Append((char)stack.Pop());20
}21
strReturn.Append(c);22
}23
else24
stack.Push(c);25
}26

27
return strReturn.ToString();28
}
