本文主要是介绍蘑菇街2016校园招聘——回文串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
import java.util.Scanner;/*** <p>* ClassName:Solution* </p>* <p/>* Description:给定一个串,通过添加一个字母将其变成“回文串”* </P>** @author sunnylinner*/
public class Solution {final String Y = "YES";final String N = "NO";public String isPalindrome(String input) {if (input == null || "".equals(input)) {return Y;}int length = input.length();//题目说明不超过10个字符,那么超过的话,直接返回NOif (length > 10) {return N;}StringBuilder sb = new StringBuilder(input);for (int i = 0; i < length; i++) {sb.deleteCharAt(i);String temp = sb.toString();if (sb.reverse().toString().equals(temp)) { //字符换个方向与原字符比较return Y;} else {sb = new StringBuilder(input);continue;}}return N;}public static void main(String[] args) {Scanner cin = new Scanner(System.in);String input;while (cin.hasNext()) {input = cin.next();System.out.println(new Solution().isPalindrome(input));}}}
解题思路:既然通过添加一个字母可以变为回文串,那么通过删除与添加的字母相对位置的字符,应该亦为回文串。
这篇关于蘑菇街2016校园招聘——回文串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!