給定一個字符串,找到它的第一個不重復的字符,並返回它的索引。如果不存在,則返回 -1。


找到字符串第一個不重復的字符並返回其下標

案例:
  輸入:s = "leetcode"
  返回 0.
  輸入:s = "loveleetcode",
  返回 2.
假設我們輸入都是小寫字母

解題思路:定義一個數組arr,數組大小為26,初始化為0,數組的值表示26個字符中出現的次數,最后遍歷字符串,將第一個出現一次的字符返回。

代碼如下:

 

public static int firstUniqChar(String s) { char[] chars = s.toCharArray(); int len = chars.length; //定義數組長度為26,表示26個字母 0-25 分別表示a-z的位置 int[] arr = new int[26]; int count = 1; //遍歷字符數組,任何一個字母出現一次,都在arr數組對應位置加1 for(int i = 0;i<len;i++) { arr[chars[i] - 'a'] += count; } for(int i = 0;i<len;i++) { if(arr[chars[i] - 'a'] == 1) return i; } return -1; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM