字符串

正则表达式匹配

分析:

先牢记两点,模式串中,‘ . ’表示任意一个字符;‘ * ’表示它前面出现的字符可以出现任意次(含0次)
接着,设字符串为str,模式串为pattern,那么,
首先,如果模式串的下一个字符为‘ * ’:

  • 如果当前字符匹配,那么有三种情况需要考虑——
    (1)模式串当前字符出现0次,则str->str[i], pattern[j]->pattern[j+2];
    (2)模式串当前字符出现1次,则str->str[i+1], pattern[j]->pattern[j+2];
    (3)模式串当前字符出现2次及以上,则str[i]->str[i+1], pattern[j]->pattern[j];
  • 如果当前字符不匹配,则只能让‘ * ’表示当前字符出现0次,即str[i]->str[i], pattern[j]->pattern[j+2];

其次,如果模式串下一个字符不为‘ * ’——
如果当前字符匹配,则str = str+1, pattern = pattern+1


表示数值的字符串

分析

在数值之前可能有一个表示正负的’-‘或者’+’。
接下来是若干个0到9的数位表示数值的整数部分(在某些小数里可能没有数值的整数部分)。
如果数值是一个小数,那么在小数点后面可能会有若干个0到9的数位表示数值的小数部分。
如果数值用科学计数法表示,接下来是一个’e’或者‘E’,以及紧跟着的一个整数(可以有正负号)表示指数。


字符流中第一个不重复的字符

分析

1,去重,首先考虑的就是哈希表了
2,键值(Key)是字符的ASCII值,Value是表述了字符出现的早晚和是否重复
3,要求的是第一个不重复字符,我们就用Key=-1去重,接着用Key++来区分字符出现的早晚程度。


替换空格
思路很简单,详情见代码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 字符串匹配KMP算法详解 1. 引言 以前看过很多次KMP算法,一直觉得很有用,但都没有搞明白,一方面是网上很少有...
    张晨辉Allen阅读 2,452评论 0 3
  • ASCII(str) 返回字符串 str 中最左边字符的 ASCII 代码值。如果该字符串为空字符串,则返回0。如...
    JavaEdge阅读 475评论 0 1
  • 13.1 String对象是不可变的。涉及String值的操作都是创建了一个全新的String对象,原来的Stri...
    007小和尚阅读 458评论 1 0
  • 字符串操作 Lua 提供了很多的方法来支持字符串的操作: 1 string.upper(argument):字...
    泱千澈阅读 369评论 0 0
  • 持续行动就是每天做,足够久 持续行动的两个要点:长期稳定不低于预期,坚持每天做到足够久的时间。思考与纠结的区别就在...
    喵皇后阅读 410评论 0 1