交换得回文串 判断一个字符串是否能够通过n次交换得到一个回文串,如果可以计算出交换次数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【chenshouyu】截止到2008-07-02 14:20:35的历史汇总数据(不包括此帖):发帖的总数量:0 发帖的总分数:0 结贴的总数量:0 结贴的总分数:0 无满意结贴数:0 无满意结贴分:0 未结的帖子数:0 未结的总分数:0 结贴的百分比:---------------------结分的百分比:---------------------无满意结贴率:---------------------无满意结分率:---------------------如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html 交换string.length()/2次 问题补充:比如说所给的字符串为:mamad,第一次交换ad,得mamda;第二次交换md,得madma;第三次交换ma,得madam。(回文串,交换成功,交换次数为3)最好用java语言写,或者说说思路也行我的思路是:1 判断字符串个数,分奇偶做不同的操作2 对于偶数个:判断每一个字符出现的次数,如果存在 (出现次数)%2!=0 则无法转换成回文串2.1 获取第一个字符值,并找出字符串中最后出现同一字符的位置i,移动次数=字符串的长度-1-i;2.2 去掉这两个字符得到新的字符串,然后进行同样操作,得出结果(这里有个问题,不懂怎样去掉这两个字符)3 对于奇数个:判断每一个字符出现的次数,如果存在 (出现次数)%2!=1 则无法转换成回文串3.1 获取第一个字符值,并找出字符串中最后出现同一字符的位置i3.2 如果存在,则移动次数=字符串的长度-1-i,去掉 这两个字符得到新的字符串,然后进行同样操作,得出结果3.3 如果不存在,则移动次数=(字符串的长度-1)/2,去掉这一个字符得到新的字符串,然后进行同样操作,得出结果 菜鸟求解迭代器 GridBagLayout 布局问题 关于双核和单核的问题 急!这种输入怎么才能实现?(小弟新手) 求解内存 老革命遇到新问题,关于死机 一点语法问题,各位达人都近来看呀! 高分求救,如何做个招聘网站 我如何给字符串付值!!! HELP!!! 关于java进程!解决就+100(急) 大家好,进来谈谈反射机制 Jtable 表头问题
楼主【chenshouyu】截止到2008-07-02 14:20:35的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
string.length()/2
次
比如说所给的字符串为:mamad,第一次交换ad,得mamda;第二次交换md,得madma;第三次交换ma,得madam。(回文串,交换成功,交换次数为3)
最好用java语言写,或者说说思路也行
我的思路是:
1 判断字符串个数,分奇偶做不同的操作2 对于偶数个:判断每一个字符出现的次数,如果存在 (出现次数)%2!=0 则无法转换成回文串
2.1 获取第一个字符值,并找出字符串中最后出现同一字符的位置i,移动次数=字符串的长度-1-i;
2.2 去掉这两个字符得到新的字符串,然后进行同样操作,得出结果(这里有个问题,不懂怎样去掉这两个字符)3 对于奇数个:判断每一个字符出现的次数,如果存在 (出现次数)%2!=1 则无法转换成回文串
3.1 获取第一个字符值,并找出字符串中最后出现同一字符的位置i
3.2 如果存在,则移动次数=字符串的长度-1-i,去掉 这两个字符得到新的字符串,然后进行同样操作,得出结果
3.3 如果不存在,则移动次数=(字符串的长度-1)/2,去掉这一个字符得到新的字符串,然后进行同样操作,得出结果