字符串中的最后一个唯一字符
分析,类似的题目有 字符串中的第一个唯一字符
思路1: 如果字符的indexOf的值等于lastIndexOf相等,说明该字符出现一次
思路2:新建一个数组记录次数;
思路3:用HashMap 存储键值对,value等于1,说明仅仅出现一次。(应该使用LinkedHashMap,为什么,请往下看?)
故问题相当于原问题的类似的问题。
解法一:用到字符串中某字符的indexOf的值等于lastIndexOf
将字符串翻转,字符串长度为len, 如果字符的indexOf的值等于lastIndexOf相等,令为i;
则字符串中的最后一个唯一字符的索引为 len-1-i;
代码如下:
public class LastOnly {
public static void main(String[] args) {
String str="asdad";
StringBuffer s = new StringBuffer(str); //String转换为StringBuffer
String strTemp=s.reverse().toString();//StringBuffer翻转后转换为String
LastOnly lastOnly=new LastOnly();
System.out.println(lastOnly.findOnly(strTemp));
}
public int findOnly(String str){
int len=str.length();
for(int i=0;i<len;i++){
if(str.lastIndexOf(str.charAt(i))==str.indexOf(str.charAt(i)<