在字符串里找第一个只出现一次的字符
来源:互联网 发布:唱歌好听的网络歌手 编辑:程序博客网 时间:2024/05/21 16:11
题目描述(来自剑指offer):
在一个字符串(1<=字符串长度<=10000,全部由字母组成)
中找到第一个只出现一次的字符,并返回它的位置。如果字符串为空,返回-1
思路:(利用java的linkedHasMap,保证了字符串的顺序)
在一个字符串(1<=字符串长度<=10000,全部由字母组成)
中找到第一个只出现一次的字符,并返回它的位置。如果字符串为空,返回-1
思路:(利用java的linkedHasMap,保证了字符串的顺序)
第一次遍历:使Map中 key保存字符,value保存字符出现的频数,
第二次遍历:找到value为1的那个下标,将其返回例如:
输入:str={"gogoup"}
输出:4
代码如下:
public int solve(String str) { if(str == null|| str.isEmpty()) return -1; char[] ch = str.toCharArray(); //用linkedHashMap可以保证顺序 Mapmap = new LinkedHashMap (); for(char i : ch) //第一次遍历,设置键值对 {Integer freq = map.get(i);map.put(i, (freq==null? 1:freq + 1));} for(int i=0; i!= ch.length; i++)//第二次遍历,读取值为1的数,返回索引 { if (map.get(ch[i])==1) return i; } return -1; }
0 0
- 在字符串里找第一个只出现一次的字符
- 找字符串中第一个只出现一次的字符
- 在一个字符串中找第一个只出现一次的字符
- 找第一个只出现一次的字符
- 找第一个只出现一次的字符
- 找第一个只出现一次的字符
- noi-7804-找第一个只出现一次的字符
- 找第一个只出现一次的字符
- 02:找第一个只出现一次的字符
- 找第一个只出现一次的字符
- 找第一个只出现一次的字符
- 02_找第一个只出现一次的字符
- noi-7804 找第一个只出现一次的字符
- 02:找第一个只出现一次的字符
- 1.7_02:找第一个只出现一次的字符
- 找第一个只出现一次的字符
- 2.找第一个只出现一次的字符
- C++找字符串中第一个只出现一次的的字符下标(牛客剑指offer)
- 欢迎使用CSDN-markdown编辑器
- 通过ssh登录数据库
- 【CubieTruck】交叉编译QT5.5.1
- spring之@ModelAttribute运用详解
- 【Cubietruck】cubietruck基于Xwindows的qt安装
- 在字符串里找第一个只出现一次的字符
- 【CubieTruck】基于Xserver无桌面系统
- ORM--------Hibernate、Mybatis与Spring Data的区别
- 【Linux】Grub模式硬盘安装Ubuntu16.04
- 【WinCE】WinCE6.0开发环境搭建
- pc测试csdn博客3-20170414
- 其他数字都是成对出现,找出唯一单独出现的数字------强大的异或
- 【Linux】Grub模式硬盘安装ubuntu16.04
- UBUNTU如何安装tar.gz版的flash