字串中首尾相同的最大子字串
阿新 • • 發佈:2018-11-26
由於上一道LeetCode題目沒有理解迴文的意思以為是首尾相同即可,所以寫好了程式碼,留著以後有機會可以用到。
import java.util.*; class Solution { public String longestPalindrome(String s) { Hashtable<Character,Integer> map = new Hashtable<>(); int lastindex,max=-1,i; char flag='0'; if(s.length()==0){ return ""; } else { for(i=0;i<s.length();i++) { if(map.containsKey(s.charAt(i))) { break; } else{ lastindex = s.lastIndexOf(s.charAt(i)); map.put(s.charAt(i),i); if(lastindex-i>max) { max = lastindex-i; flag = s.charAt(i); } } } i = map.get(flag); return s.substring(i,max+i+1); } } }
主要利用了java中String類的返回指定字元在此字串中最後一次出現處的索引方法,也利用了雜湊表輔助實現。