每天一道算法题——LeeCode.387. First Unique Character in a String
来源:互联网 发布:不常用的英文单词知乎 编辑:程序博客网 时间:2024/06/03 18:49
题目:
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
s = "leetcode"return 0.s = "loveleetcode",return 2.
Note: You may assume the string contain only lowercase letters.
大意:输出字符串中第一个只出现了一次的字符的下标
思路:
1.建立一个长度为26的数组,遍历一次字符串记录各字符出现次数。再遍历一遍,输出第一个出现次数为0的字符的下标。
2.思路同理,用哈希表建立每个字符和其出现次数的映射,然后按顺序遍历字符串,找到第一个出现次数为1的字符,返回其位置。
代码:
思路1:
class Solution {public: int firstUniqChar(string s) { int sl[26]; int res = -1; for (int j = 0; j < 26; j++) { sl[j] = 0; } for (int i = 0; i < s.length(); i++) { sl[int(s[i]) - 97]++; } for (int i = 0; i < s.length(); i++) { if (sl[int(s[i])-97]==1) { res = i; break; } } return res; }};
思路2:
class Solution {public: int firstUniqChar(string s) { unordered_map<char, int> m; for (char c : s) ++m[c]; for (int i = 0; i < s.size(); ++i) { if (m[s[i]] == 1) return i; } return -1; }};
思路2代码出处:http://www.cnblogs.com/grandyang/p/5802109.html
阅读全文
0 0
- 每天一道算法题——LeeCode.387. First Unique Character in a String
- LeetCode—387. First Unique Character in a String
- 387. First Unique Character in a String
- 387.First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- CodeForces 830B Cards Sorting(set乱搞)
- Mono.Cecil使用示例之给UnityEditor.dll中的ConsoleWindow添加双击委托
- 理解C++智能指针
- 不聊技术,对人对事的思考
- 小程序--滚动选择器picker篇
- 每天一道算法题——LeeCode.387. First Unique Character in a String
- SpringBoot DataSource配置详解
- 英语四六级考试忘记准考证?怎么办?
- docker 的简单使用
- Ubuntu 10.04设置终端窗口的默认大小
- C# 中TextReader中peek()与read()的异同
- SVN提交报错"svn: Commit blocked by pre-commit hook (exit code 1) with output: Can't get Mantis_Key"的解决办法
- 用户角色权限系统完整设计(基于shiro)
- 链表