剑指 Offer 50. 第一个只出现一次的字符
方法一:哈希表
class Solution {
public char firstUniqChar(String s) {
HashMap<Character,Integer> map=new HashMap<>();
for(int i=0;i<s.length();i++){
char c=s.charAt(i);
map.put(c,map.getOrDefault(c,0)+1);
}
char res=' ';
for(int i=0;i<s.length();i++){
if(map.get(s.charAt(i))==1){
res=s.charAt(i);
break;
}
}
return res;
}
}
方法二:字典查找
class Solution {
public char firstUniqChar(String s) {
char res=' ';
int[] num=new int[26];
for(int i=0;i<s.length();i++){
num[s.charAt(i)-'a']++;
}
for(int i=0;i<s.length();i++){
if(num[s.charAt(i)-'a']==1){
res=s.charAt(i);
break;
}
}
return res;
}
}
剑指 Offer 53 - I. 在排序数组中查找数字 I
class Solution {
public int search(int[] nums, int target) {
int count=0;
int flag=0;
for(int i=0;i<nums.length;i++){
if(nums[i]==target){
flag=1;
count++;
}else{
if(flag==1) break;
}
}
return count;
}
}
本文提供两种方法来找到字符串中首次出现的唯一字符。方法一使用哈希表存储字符及其出现次数;方法二则利用字典进行查找,通过遍历字符串并统计每个字符的出现次数。

被折叠的 条评论
为什么被折叠?



