博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] NO. 387 First Unique Character in a String
阅读量:7070 次
发布时间:2019-06-28

本文共 869 字,大约阅读时间需要 2 分钟。

[题目]

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.

[题目解析] 根据题意,思路比较简单,遍历字符串,用map存储对应字符以及出现次数,再次遍历原字符串,当出现第一个出现一次的字符时,返回对应的index即可,考虑到Note中提示的字符串只考虑小写字母组成的情况,可以用一个26位的数组表示map结构,代码如下。

public int firstUniqChar(String s) {        if(null == s || 0 == s.length() ) return -1;    	int[] hash = new int[26];    	char[] array = s.toCharArray();        for(int i = 0; i < array.length; i++){     	        	int num = array[i] - 'a';        	hash[num]++;        }        for(int i = 0; i < array.length; i++){        	int num = array[i] - 'a';        	if(hash[num] == 1){        		return i;        	}        }        return -1;   }

  

转载于:https://www.cnblogs.com/zzchit/p/5831617.html

你可能感兴趣的文章
linux下dd命令详解
查看>>
struts2.x下url标签
查看>>
Ubuntu 14.04.2 LTS DeskTop 安装OpenGL
查看>>
SQL抓取每天日期
查看>>
FreeRADIUS + MySQL 安装配置笔记
查看>>
ansible-playbook剧本
查看>>
【Scrapy】 selector 学习记录二(re,set)
查看>>
centos7 dns修改
查看>>
以太网(Ethernet)
查看>>
Java泛型_上界extends_下界super
查看>>
php 字符串操作函数
查看>>
虚拟机内核引导修复
查看>>
Java基础学习总结(21)——数组
查看>>
Java基础学习总结(13)——流IO
查看>>
多媒体通信-4-5-2018
查看>>
嵌入式 Linux进程间通信(十一)——多线程简介
查看>>
Java基础学习总结(17)——线程
查看>>
Java基础学习总结(22)——异常处理
查看>>
WebServer 之apache(httpd2.2和httpd2.4)基础安装部署
查看>>
BZOJ2959长跑——LCT+并查集(LCT动态维护边双连通分量)
查看>>