110,499
社区成员
发帖
与我相关
我的任务
分享
public static string Reverse(string s)
{
char[] charArray = s.ToCharArray();
Array.Reverse(charArray);
return new string(charArray);
}
string str = "aabbbbcdddaabbbbcddd";
List<char> list = new List<char>();
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("C1", typeof(char)), new DataColumn("C2", typeof(int)) });
list.Add(str[0]);
dt.Rows.Add(str[0], 1);
for (int i = 1; i < str.Length; i++)
{
char c1 = str[i];
char c2 = str[i - 1];
if (c1 != c2)
{
list.Add(c1);
dt.Rows.Add(c1, 1);
}
else
{
dt.Rows[dt.Rows.Count - 1][1] = Convert.ToInt32(dt.Rows[dt.Rows.Count - 1][1]) + 1;
}
}
Console.WriteLine(new string(list.ToArray()));
Console.WriteLine("----------------------------");
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sb.Append(dr[0].ToString() + dr[1].ToString());
sb2.Append(new string(Convert.ToChar(dr[0]), Convert.ToInt32(dr[1])) + dr[1].ToString());
}
Console.WriteLine(sb.ToString());
Console.WriteLine("----------------------------");
Console.WriteLine(sb2.ToString());
Console.WriteLine("----------------------------");
char[] cArray = str.ToCharArray();
Array.Reverse(cArray);
Console.WriteLine(new string(cArray));
string s = "aabbbbcddd";
string r1 = new string(s.ToCharArray().Distinct().ToArray());
System.Text.StringBuilder sb = new System.Text.StringBuilder();
var q = s.ToCharArray().GroupBy(ss => ss);
foreach (var item in q)
{
sb.Append(item.Key);
sb.Append(item.Count());
}
string r2 = sb.ToString();
sb = new System.Text.StringBuilder();
foreach (var item in q)
{
sb.Append(item.Key, item.Count());
sb.Append(item.Count());
}
string r3 = sb.ToString();
string r4 = new string(s.ToCharArray().Reverse().ToArray());
string testStr = "abbcccddddeeeee";
Console.WriteLine(testStr);
//1
Console.Write(testStr[0]);
for (int i = 1; i < testStr.Length; i++)
if (testStr[i] != testStr[i - 1])
Console.Write(testStr[i]);
Console.WriteLine();
//2
for(int i = 0; i < testStr.Length; i++)
{
Console.Write(testStr[i]);
int j = i + 1;
for (; j < testStr.Length; j++)
if (testStr[j] != testStr[i])
break;
Console.Write(j - i);
i = j - 1;
}
Console.WriteLine();
//3
for (int i = 0; i < testStr.Length; i++)
{
Console.Write(testStr[i]);
int j = i + 1;
for (; j < testStr.Length; j++)
{
if (testStr[j] != testStr[i])
break;
Console.Write(testStr[j]);
}
Console.Write(j - i);
i = j - 1;
}
//4
Console.WriteLine();
for (int i = testStr.Length - 1; i >= 0; i--)
Console.Write(testStr[i]);
Console.WriteLine();
public String StrReversal(String oldString)
{
string result = string.Empty;
for (int i = oldString.Length - 1; i >= 0; i--)
result += oldString[i];
return result;
}
public String StrReversal(String oldString)
{
string result = string.Empty;
for (int i = oldString.Length - 1; i <= 0; i--)
result += oldString[i];
return result;
}