日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

回文算法java实现_java算法题:最长回文串

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 回文算法java实现_java算法题:最长回文串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LeetCode: 給定一個包含大寫字母和小寫字母的字符串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如"Aa"不能當做一個回文字符串。注 意:假設字符串的長度不會超過 1010。

思路:利用hashset,遍歷字符串數組,判斷字符是否在hashset中,如果在則加2,并在hashset中移除改字符,反之則放入hashset中

,最后判斷count是否大于字符串長度。

代碼實現:

/**

* @author:eason

* @desc:最長回文串(“回文串”是一個正讀和反讀都一樣的字符串,比如“level”或者“noon”等等就是回文串。)

* @思路:利用hashset,遍歷字符串數組,判斷字符是否在hashset中,如果在則加2,并在hashset中移除改字符,反之則放入hashset中

* ,最后判斷count是否大于字符串長度

*/

public class LongestPalindromic {

public int getLonestLength(String s){

int count = 0;

char[] chars = s.toCharArray();

HashSet set = new HashSet();

for(int i = 0;i < chars.length; i++){

char b = chars[i];

if(set.contains(b)){

count += 2;

set.remove(b);

}else{

set.add(b);

}

}

if(count < s.length()){

count ++;

}

return count;

}

public static void main(String[] args) {

String s = "assdsdgggggaa";

LongestPalindromic longestPalindromic = new LongestPalindromic();

System.out.println(longestPalindromic.getLonestLength(s));

}

}

總結

以上是生活随笔為你收集整理的回文算法java实现_java算法题:最长回文串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。