刷题专栏(二十六):字符串中的第一个唯一字符

简介: 刷题专栏(二十六):字符串中的第一个唯一字符

前言

刷题专栏到目前已经是第二十六篇了,欢迎大家来关注我的刷题专栏,一起来刷题。

今天的这道题,是一道关于字符串的一道题,《字符串中的第一个唯一字符》。

此题主要就是要处理字符串的字符。

下面我们就一起来看一下这道题吧。image.png

算法题:字符串中的第一个唯一字符

根据题目的描述来看,是要找出传入的字符串的第一个在全字符串中没有重复字符的字符索引。

要解决这个问题,一般可以通过遍历每一个字符串字符来做一一的判断。

当然这是暴力循环的方式,其实在参数太长的情况下,是不推荐的。

如果不使用暴力循环,那么要使用什么方法呢?

一是可以利用集合存储每个字符,判断出哪些是重复字符,排除掉重复字符,接下来就获取第一个字符索引就可以了。

二是利用队列的方式,通过队列先进先出的特征找出第一个符合要求的字符索引。

代码展示

本次执行的代码如下所示,大家可以自行参考一下。

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.firstUniqChar("aabb"));
        System.out.println(solution.firstUniqChar("abcdef"));
        System.out.println(solution.firstUniqChar("leetcode"));
    }
    public int firstUniqChar(String s) {
        for (int i = 0; i < s.length(); i++) {
            System.out.println(s.lastIndexOf(s.charAt(i)));
            if(s.lastIndexOf(s.charAt(i)) == i && s.indexOf(s.charAt(i)) == i){
                return i;
            }
        }
        return -1;
    }
}

代码执行结果

今天的执行结果也非常一般,看来通过循环和indexOf是行不通。image.png

总结

今天的这道题主要就是考察对字符串每一个字符循环保存的熟练程度,关于队列的使用本次并没有说道,大家有兴趣可以自行试一下。

目录
打赏
0
相关文章
|
9月前
|
刷题专栏(二十九):重复的子字符串
刷题专栏(二十九):重复的子字符串
145 2
|
9月前
|
刷题专栏(二十八):找到所有数组中消失的数字
刷题专栏(二十八):找到所有数组中消失的数字
134 4
|
9月前
|
刷题专栏(二):最后一个单词的长度
刷题专栏(二):最后一个单词的长度
69 0
代码随想录算法训练营第九天 | LeetCode 8. 找出字符串中第一个匹配项的下标、LeetCode 459. 重复的子字符串
代码随想录算法训练营第九天 | LeetCode 8. 找出字符串中第一个匹配项的下标、LeetCode 459. 重复的子字符串
49 0
2022 数据结构与算法《王道》学习笔记 (十)串 KMP算法 串的总结 课后习题笔记
2022 数据结构与算法《王道》学习笔记 (十)串 KMP算法 串的总结 课后习题笔记
删除字符串中的所有相邻重复项(代码随想录力扣刷题)
删除字符串中的所有相邻重复项(代码随想录力扣刷题)
LeetCode之一篇文章带你看懂回文数及字符串转化
LeetCode之一篇文章带你看懂回文数及字符串转化
140 0
LeetCode之一篇文章带你看懂回文数及字符串转化
【Day19】LeetCode算法刷题(附带解题思路、代码注释详细) 【777. 在LR字符串中交换相邻字符】 【54. 螺旋矩阵】
学习了解附带解题思路、代码注释详细) 【777. 在LR字符串中交换相邻字符】 【54. 螺旋矩阵】。
139 0
【Day19】LeetCode算法刷题(附带解题思路、代码注释详细) 【777. 在LR字符串中交换相邻字符】 【54. 螺旋矩阵】
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
108 0
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等