栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

LeetCode

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LeetCode

字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

示例:

s = “leetcode”
返回 0

s = “loveleetcode”
返回 2

(上述题目来源于LeetCode) 解法一
class Solution {
    public int firstUniqChar(String s) {
        //将字符串转换为数组
        char s1[] = s.toCharArray();
        //定义一个标记数组,用来标记数组中每一个字符
        boolean []flag = new boolean[s1.length];
        //循环遍历,如果有相同的字符,标记数组相应进行标记为true
        for(int i=0;i 
解法二(利用HashMap,两次循环) 
class Solution {
    public int firstUniqChar(String s) {
        //定义HashMap
        Map count = new HashMap();
        //第一次循环,将每个字符以及相应的出现次数放进HashMap
        for(int i=0;i 
解法三(利用C++的String容器类方法) 
class Solution {
public:
    int firstUniqChar(string s) {
        //利用C++的String容器类方法
        for(int i=0;i 

解法三中的find()方法意思是返回找到的第一个元素下标,而rfind()方法意思是返回找到的最后一个元素下标。此处的意思是如果找到的第一个下标和找到的最后一个下标刚好是同一个下标,那么这个元素在字符串中只出现过一次。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/656817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号