在一个由小写英文字母(a-z)组成的字符串中,查找最长子串,其头尾字母相同,且中间不包含该头尾字母,并输出最左边的该类子串

简介: 在一个由小写英文字母(a-z)组成的字符串中,查找最长子串,其头尾字母相同,且中间不包含该头尾字母,并输出最左边的该类子串

输入:

①adfasjdoiasldhlfa

②a

③aa

④abcd

输出:

①fasjdoiasldhlf

②a

③aa

④a


import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        String subStr = "";
        for (int i = 0; i < str.length(); i++) {
            String newSubStr = str.charAt(i) + "";
            for (int j = i+1; j < str.length(); j++) {
                if (j == str.length() - 1 && str.charAt(i) != str.charAt(j)){
                    newSubStr = str.charAt(i) + "";
                    break;
                }
                if (str.charAt(i) == str.charAt(j)){
                    newSubStr = str.substring(i,j+1);
                    break;
                }
                newSubStr = str.substring(i,j+1);
            }
            if (newSubStr.length() > subStr.length()){
                subStr = newSubStr;
            }
        }
        System.out.println(subStr);
    }
}


相关文章
|
8月前
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
27 0
|
2天前
917. 仅仅反转字母
917. 仅仅反转字母
|
1月前
|
索引
leetcode-438:找到字符串中所有字母异位词
leetcode-438:找到字符串中所有字母异位词
29 0
|
11月前
|
存储
练习>>代码实现将一个字符串中的小写字母变为大写
练习>>代码实现将一个字符串中的小写字母变为大写
49 0
求字符串中大小写字母个数及其他符号个数!
求字符串中大小写字母个数及其他符号个数!
46 0
|
存储 算法
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
判断字符串中只含有字母和问题
判断字符串中只含有字母和问题
59 0
在一个由小写英文字母(a-z)组成的字符串中,查找最短子串,其头尾字母相同。输出最左边的该类子串。
在一个由小写英文字母(a-z)组成的字符串中,查找最短子串,其头尾字母相同。输出最左边的该类子串。
53 0
在一个小写英文字母(a-z)组成的字符串的最短子串,其包含这个字符串中出现过的所有字母,输出最左边的该类子串
在一个小写英文字母(a-z)组成的字符串的最短子串,其包含这个字符串中出现过的所有字母,输出最左边的该类子串
71 0

热门文章

最新文章