C#算法 对一个字符串的相邻两字符进行对调,能否实现回文?如果可以,要进行多少次对调?

1、写出你的思维2、用C#程序实现只能是相邻的两个字母对调啊!QQ:449038247这种程序等于是把一个字符串倒序了!stringstr=textBox1.Text;c... 1、写出你的思维
2、用C#程序实现
只能是相邻的两个字母对调啊!QQ:449038247
这种程序等于是把一个字符串倒序了!

string str = textBox1.Text;
char temp;
char[] chr = str.ToCharArray();
for (int i = 0; i < chr.Length - 1; i++)
{
for (int j = 1; j < chr.Length - i; j++)
{
temp = chr[j - 1];
chr[j - 1] = chr[j];
chr[j] = temp;
}
}

//LOVE

// OLVE OVLE OVEL
// VOEL VEOL
// EVOL

//EVOL

//are
// rae Rea;
// era

//me
// em

// 交换的次数:1 + 2 + 3 + (n - 1);

string cc = new string(chr);

label1.Text = cc;
展开
 我来答
hbwang_zhidao
2007-12-22 · 超过31用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:0
展开全部
当然可以实现。
public string firstAndSecondChang(string str)
{
string newStr="";
char[] arrStr = str.ToCharArray();
for(int i = 0,j=1 ; i < arrStr.Length -2 && j <= arrStr.Length -1;i +=2,j+=2)
{
string a = arrStr[i];
string b = arrStr[j];
newStr += b+a;
}
return newStr;
}

还可以这样。
public string firstAndSecondChang(string str)
{
string newStr="";
int i = 0 ;
while(str=="")
{
string aa = str.SubString(i,2);
char [] bb = aa.ToCharArray();
Array.Reverse(bb);
string cc = new string(bb);
newStr += cc;
i++;
str = str.StartTirm(2);
}
return str;
}
ychs55
2007-12-21 · TA获得超过406个赞
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:474万
展开全部
先将字符串转成char数组,然后反转.再转成字符串
string aa = "abcdefj";
char[] _chars = aa.ToCharArray();
Array.Reverse(_chars);
string bb = new string(_chars);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式