题解 | #第一个只出现一次的字符#

第一个只出现一次的字符

http://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c

建立个linkedhashmap,将String每个字符放进去,重复的字符value值大于1,再便利这个map,找到第一个value值=1的字符,再找这个字符在string中的位置 import java.util.*; public class Solution { public int FirstNotRepeatingChar(String str) { char[] p=str.toCharArray(); Map<Character,Integer>p1=new LinkedHashMap();

    for(int i=0;i<p.length;i++){
        if(p1.containsKey(p[i])){
            p1.put(p[i],p1.get(p[i])+1);
        }
        else{
            p1.put(p[i],1);
        }
    }
    Set m=p1.keySet();

    Iterator l=m.iterator();
    while(l.hasNext()){
        //第一个
        char l1=(Character)l.next();
        if(p1.get(l1)==1){
           for(int j=0;j<p.length;j++){
               if(p[j]==l1)
                   return j;
           }
        }
    }
            
      return -1;  
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
Wy_m:只要不是能叫的上名的公司 去实习没有任何意义 不如好好沉淀自己
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务