牛客网---2016---蘑菇街回文串
来源:互联网 发布:淘宝宝贝详情怎么做 编辑:程序博客网 时间:2024/04/30 20:10
到家就不想运动,也是没谁了。。。
题目:
给定一个字符串,问是否能通过添加一个字母将其变为回文串。
输入:
一行一个由小写字母构成的字符串,字符串长度小于等于10。
coco
输出:
输出答案(YES\NO).
YES
解析:
1 . 个人理解嘛,大概能就是先找到对称点,找到所谓的对称方式,当字符串大小为奇数时,对称方式有两种;当字符串大小为偶数时,对称方式有三种,仔细想一想就知道了。
2 . 所以呢,就这样,这个题目变成了两种情况,进而讨论五种类型。看了大神的答案感觉自己好low。。。能加就能减,既然能通过增加一个字符变成回文串,那一定也可以通过删除一个字符变成回文串。用一个循环,每次循环依次删掉一个字符,然后检查新串是否是回文串,看起来简单方便许多。
3 . 话说不放在eclipse上面运行就是不知道自己哪里出问题了。。。
解题所需函数:
1 . 字符串和字符串数组之间的相互转换
// 转化成为字符串数组String str = scan.nextLine();char[] chas = str.toCharArray();// 字符串数组转化为字符串String s = String.valueOf(chas)
2 . 删掉字符串中的某一项数据
char[] chas = str.toCharArray();// 将转化成字符串数组的东东的某一项变为空格chas[i] = ' ';// 转换成字符串然后搞一波替换String s = String.valueOf(chas).replaceAll(" ", "");
3 . 复制字符串
// 记住是Stirng中的copyValueOf即可String str1 = String.copyValueOf(chas);
4 . 简单判断是否是回文串方法
// 判断一个字符串是否是回文串public static boolean isHuiwen(String s){ // 操作分别为 字符串变量s,对字符串变量翻转,转化为String,判断是否相等 return new StringBuilder(s).reverse().toString().equals(s);}// new StringBuffer(str).reverse().toString();最简单的字符串翻转方法,记住就好
String, StringBuffer, StringBuilder的异同,啧啧,貌似很厉害的样子,有时间滚去看看的哟
代码:
import java.util.Scanner;import java.util.*;public class Main{ // 主函数 没毛病 public static void main(String[] args){ // 创建Scanner Scanner scan = new Scanner(System.in); // while循环获取数据 while(scan.hasNext()){ // 获取一整行数据 String str = scan.nextLine(); // 处理字符串,需要将字符串转化成字符串数组 char[] chas = str.toCharArray(); // 用于判断是否可以满足题目条件,默认不能满足 boolean flag = false; // 遍历所有字符串数据,然后进行减操作 for(int i=0; i<chas.length; i++){ // 复制操作 String str1 = String.copyValueOf(chas); // 将复制体转化成字符串数组 char[] chas1 = str1.toCharArray(); // 接下来是重头戏,如何删除某一项数据,其实很简单,变成空格然后搞替换就好了 chas1[i] = ' '; // 转换成字符串然后搞一波替换 String s = String.valueOf(chas1).replaceAll(" ", ""); if(isHuiwen(s)){ flag = true; } } if(flag){ System.out.println("YES"); }else{ System.out.println("NO"); } } scan.close(); } // 判断一个字符串是否是回文串 public static boolean isHuiwen(String s){ return new StringBuilder(s).reverse().toString().equals(s); }}
阅读全文
0 0
- 牛客网---2016---蘑菇街回文串
- 蘑菇街 回文串
- [蘑菇街]回文串
- 蘑菇街2016研发工程师_回文串
- 蘑菇街2016校园招聘——回文串
- 回文串---蘑菇街2016研发工程师在线编程题
- 蘑菇街2016招聘笔试(回文串)
- 蘑菇街2016研发工程师编程题--回文串
- 笔试题(蘑菇街):回文串
- 《蘑菇街编程题》回文串
- [编程题] 回文串 java 蘑菇街2016研发工程师在线编程题
- 牛客网---2016---蘑菇街聊天
- 牛客网---2016---蘑菇街搬圆桌
- 牛客网---2016---蘑菇街最大间隔
- 牛客网---2016---蘑菇街投篮游戏
- 蘑菇街2016招聘笔试
- 牛客网---2016---百度蘑菇阵
- 蘑菇街
- jmeter 集合点
- Centos6安装mysql5.5
- JQuery在光标位置插入内容
- 逆波兰表达式求值
- Ant与Maven在liunx上的安装
- 牛客网---2016---蘑菇街回文串
- java 日期计算
- matlab fminsearch 求取最小值失败的情况
- mongo查询过滤条件java实例($and,$or,$eq,$ne)
- linux Nginx配置篇:rewrite模块参数详解
- AS代码混淆
- effective c++ item04:确定对象被使用之前以先被初始化
- 【greenDAO3】 项目搭建与增删改查操作
- c#委托事件与回调