剑指Offer之第一个只出现一次的字符
题目描述
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).
解题思路
设置一个计数数组,下标表示字符的ASCII码,本身的数据表示出现的次数,初始化为0。遍历整个字符串,把字符串的字符映射到ASCII码并计数。之后遍历一遍pos数组,把第一个是1的返回即可。时间复杂度是O(N)O(N)O(N),N是字符串的长度。
AC代码
class Solution {public:int FirstNotRepeatingChar(string str) {if(str.empty()) {return -1;}int pos[256] = {0};int len = str.length();for(int i = 0; i < len; ++i) {pos[int(str[i] - NULL)]++;}for(int i = 0; i < len; ++i) {if(pos[int(str[i] - NULL)] == 1) {return i;}}return -1;}
};
剑指Offer之第一个只出现一次的字符相关推荐
- 【LeetCode】剑指 Offer 50. 第一个只出现一次的字符
[LeetCode]剑指 Offer 50. 第一个只出现一次的字符 文章目录 [LeetCode]剑指 Offer 50. 第一个只出现一次的字符 一.哈希表 二.有序哈希表 本题考查哈希表的使用, ...
- 剑指offer:第一个只出现一次的字符
题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 解题思路 class So ...
- [剑指offer] 34. 第一个只出现一次的字符
题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 一次遍历存储到哈希表 一次 ...
- 《剑指offer》-- 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字
一.第一个只出现一次的字符: 1.题目: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写 ...
- 【算法】剑指 Offer 50. 第一个只出现一次的字符
1.概述 在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. s 只包含小写字母. 示例 1: 输入:s = "abaccdeff" 输出:'b' 示例 2: ...
- LeetCode-剑指 Offer 50. 第一个只出现一次的字符
剑指 Offer 50. 第一个只出现一次的字符 class Solution {public:char firstUniqChar(string s) {unordered_map<char, ...
- 剑指offer:数组中只出现一次的数字
题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 解题思路 用容器存次数. class Solution { public:void FindNu ...
- 剑指Offer(1)——第一章面试的流程
目录 前言 正文 一.经验 二. 常见题目 1. 把一个字符串转换成整数 2. 求链表中的倒数第n个节点 三.测试相关内容 1. 白盒测试 2. 黑盒测试 3. 自动化测试 参考 前言 剑指Offer ...
- 《剑指offer》-数组中只出现一次的数字
/* 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.思路: 如果是只有一个数字出现一次,那么所有数字做异或就得到结果: 现在有两个数字x,y分别出现一次, ...
最新文章
- 《敏捷软件开发》第二章极限编程实践
- html中嵌入天气预报
- 存储过程,触发器,分页练习
- plex实现流媒体服务器_Plex继续远离服务器,提供网络节目
- python序列化对象的函数_使 Python 对象可序列化的函数
- BlogEngine.Net架构与源代码分析系列part12:页面共同的基类——BlogBasePage
- linux getline函数用法,Linux文本处理三剑客之awk学习笔记05:getline用法详解
- 图解Picasso源码
- [转][python] 常用正则表达式爬取网页信息及分析HTML标签总结
- 模拟CMOS 集成电路设计
- 如何在云帮上配置https
- Java MMdd 日期格式转换问题
- 上映4天,票房7.4亿的《海王》,用Python分析数据看大片!
- 计算英文句子中有多少单词?
- 电脑视频转换成mp4格式,视频格式转换器转换
- 蓝桥云算法题之棋盘放麦子——Python满分解答
- 切绳子题解(博客搬家)
- 面试记录留给自己做纪念
- 打开i信服务器正在运行中,【网络异常,0/12157 Unknown】i信登录时出现
- Spark Hadoop 环境搭建http://www.jianshu.com/p/5b1eafdf34a9
热门文章
- nlp-tutorial代码注释2-1,CNN用于句子分类简介
- Java 1.1.5 空串与 Null 串
- ~~高精度除以低精度
- PyTorch——PyTorch也支持通过累加操作实现大的BatchSize的训练
- 像python一样运行js的__main__
- MQTT 控制报文 - PINGREQ心跳报文,PINGRESP - 第4章
- 【分享】请回答1988(二)
- IGMP协议——IP组播之组管理协议
- Spring beans配置方案(一) 学习笔记
- Tri_integral Summer Training 9 总结