C#按“单词”反转字符串
2018-01-27 17:19
537 查看
这里只给代码不给思路,这是基础的不能再基础的东西,却是最容易犯错的一个。
/// <summary>
/// C#按单词反转字符串,不可以使用split函数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static string RevNoSplit(string str)
{
StringBuilder sb = new StringBuilder();
int len = 0;
for (var i = str.Length - 1; i >= 0; i--)
{
len++;
if (i == 0)
{
sb.Append(str[i]);
}
else if (str[i] == ' ')
{
sb.Append(str.Substring(i + 1,len -1));
sb.Append(str[i]);
len = 0;
}
}
return sb.ToString();
}
/// <summary>
/// C#按单词反转字符串,不可以使用split,substring函数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static string RevNoSplitSubstring(string str)
{
StringBuilder sb = new StringBuilder();
for (var i = str.Length - 1; i >= 0; i--)
{
if (i == 0)
{
sb.Append(str[i]);
}
else if (str[i] == ' ')
{
var breakpoint = str.Length - sb.Length;
for (var j = i; j < breakpoint - 1; j++) {
sb.Append(str[j + 1]);
}
sb.Append(str[i]);
}
}
return sb.ToString();
}
/// <summary>
/// C#按单词反转字符串,不可以使用split函数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static string RevNoSplit(string str)
{
StringBuilder sb = new StringBuilder();
int len = 0;
for (var i = str.Length - 1; i >= 0; i--)
{
len++;
if (i == 0)
{
sb.Append(str[i]);
}
else if (str[i] == ' ')
{
sb.Append(str.Substring(i + 1,len -1));
sb.Append(str[i]);
len = 0;
}
}
return sb.ToString();
}
/// <summary>
/// C#按单词反转字符串,不可以使用split,substring函数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static string RevNoSplitSubstring(string str)
{
StringBuilder sb = new StringBuilder();
for (var i = str.Length - 1; i >= 0; i--)
{
if (i == 0)
{
sb.Append(str[i]);
}
else if (str[i] == ' ')
{
var breakpoint = str.Length - sb.Length;
for (var j = i; j < breakpoint - 1; j++) {
sb.Append(str[j + 1]);
}
sb.Append(str[i]);
}
}
return sb.ToString();
}
相关文章推荐
- C# 按照单词反转字符串
- (C#) 反转字符串,反转一个句子中单词。
- [算法] C# Revert 单词反转字符串[低时间复杂度]
- 反转单词 xynuoj 1626(字符串的处理)
- 反转字符串中的单词
- C# 字符串转意和反转意
- C#反转字符串
- 【LeetCode】Reverse Words in a String 反转字符串中的单词
- 2016年c#实验3.2:实验字符串反转
- 反转字符串中的单词(Reverse Words)
- leetcode第一题 将一个字符串的单词顺序反转输出
- 不用任何库函数实现以单词为单位的字符串逆转算法(C#)
- Leetcod:557.Reverse Words in a String III 反转字符串中的每个单词。
- C语言来实现字符串反转(只有单词反转,单词里的字母不反转)
- 反转单词(C#实现)
- 【LeetCode-面试算法经典-Java实现】【151-Reverse Words in a String(反转字符串中的单词)】
- Easy:字符串按单词反转
- C#反转字符串效率最高的方法
- 【LeetCode在线编程记录-1】字符串按单词反转
- 字符串按单词(term)反转(C代码)