剑指offer-字符串
lupa1521
这个作者很懒,什么都没留下…
展开
-
替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路:创建一个StringBuffer,从头读取字符串每一个字符,若非空,加原来字符;若为空,加“%20” 字符串长度会增加,所以用StringBuffer或者StringBuilder public class Solution ...原创 2019-04-05 17:58:41 · 83 阅读 · 0 评论 -
49、把字符串转正整数
49.将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法 的数值则返回0 思路: 若为负数,则输出负数,字符0对应48,9对应57,不在范围内则返回false。 1、把字符串转成字符数组 2、判断第一位是+还是- 。 +时,标志位mark=0,循环从0开始 -时,标志位mark=1,循环从1开始 3、判断ascii码是否在48到57之间 ...原创 2019-05-04 13:11:55 · 251 阅读 · 0 评论 -
53 正则表达式匹配
请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配 思路: 1、如果模式中字符是ch是'.',那么可以匹配任何字符,如果不是,但字符串中字符是ch,那...原创 2019-05-04 14:33:47 · 116 阅读 · 0 评论 -
54.表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数) 思路:逐个字符进行判断,e或E和小数点最多出现一次,而e或E的前一个必须是数字,且不能是第一个或最 后一个字符,符号的前一个字符不能是e或E。也可用正则表达式判断! E或e: 后面必须有数字 不能有两个E +或-: 第一次出现,是否在符号位;第一次出现并且不在符号位或者不是第一次出现,前一位必须为E 小数点: 只能有一个小数点...原创 2019-05-04 14:55:34 · 221 阅读 · 0 评论 -
55、字符流中第一个不重复的数字
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。 利用字符数组。 public class Solution { //Insert o...原创 2019-05-04 15:07:48 · 73 阅读 · 0 评论