算法
1 从第一个字符开始扫描
2 当遇见普通字符时候忽略,遇见做字符压入栈。
3 当遇见右符号时候从栈中弹出栈顶符号
匹配成功,继续读入下一字符
匹配失败,立即停止并报错
成功:所有字符扫描完毕,且栈为空
失败:匹配失败或者所有字符扫描完毕但栈不是空的。
伪代码:
int scanner(const char* code)
{
创建栈;...
分类:
其他好文 时间:
2015-06-08 01:03:25
阅读次数:
130
题目:设计一个算法,判断用户输入的表达式中是否是回文(回文即左右对称的字符串)。思路:这道题与判断表达式括号是否匹配类似,可使用顺序栈来解决,区别是回文要求每个字符都要求匹配,因此将字符串全部入栈,再全部出栈,将最后一个字符与第一个字符比较是否相同,依次比较,若全部相同则为回文。代码:#include
#include
using namespace std;
#...
分类:
编程语言 时间:
2015-06-07 15:54:32
阅读次数:
180
Write a function to find the longest common prefix string amongst an array of strings.求最长公共前缀:以第一个字符串为模板比较之后的字符串即可。 1 public class Solution { 2 pu...
分类:
其他好文 时间:
2015-06-06 10:33:58
阅读次数:
102
1.substr 方法功能:用于返回一个从指定位置开始的指定长度的子字符串,从“母字符串”的“指定位置”开始提取“指定长度”的“子字符串”。语法:stringObject.substr(start [, length ])参数描述 :start 必需。所需的子字符串的起始位置。字符串中的第一个字符的...
分类:
其他好文 时间:
2015-06-04 11:26:41
阅读次数:
164
基本跳转:hjkl:左下上右HML:当前屏幕顶、中、底部web:下一单词词首、下一单词词尾、前一单词词首gg:文件首 G:文件末尾 ngg/nG:第n行ta:移动到所在行之后第一个字符a前一字符fa:移动到所在行之后第一个字符a处Ta:移动到所在行之前最后一个字符a的后一个字符Fa:移动到所在行之前...
分类:
系统相关 时间:
2015-06-03 21:10:58
阅读次数:
214
通常,字符类包括在哪个位置想要匹配的所有的字符。在类中作为第一个字符的脱字符(^)将类中的所有字符排除在被匹配之外。相反,除换行符以外的没有列在方括号中的任意字符都将匹配。下面的模式将匹配任意非数字字符:
[^0-9]
它匹配字母表中所有的大写和小写字母以及所有特殊字符,例如标点符号。排除特殊字符有时比显示地列出想要匹配的所有字符更方便。例如,如果想要匹配任意辅音,可以简单地排除元音:...
分类:
系统相关 时间:
2015-05-31 09:28:30
阅读次数:
220
string.capitalize() 字符串第一个字符大写 string.center(width,[,fill]) 原字符居中,空格填充至width长度 string.count(str,beg=0,end=len(string)) 获得字符串中某一个子串的数目,计算出现次数,可指定范围 ...
分类:
编程语言 时间:
2015-05-27 16:09:10
阅读次数:
360
题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。
思路:
我们以三个字符abc为例来分析一下求字符串排列的过程。首先我们固定第一个字符a,求后面两个字符bc的排列。当两个字符bc的排列求好之后,我们把第一个字符a和后面的b交换,得到bac,接着我们固定第一...
分类:
其他好文 时间:
2015-05-26 23:28:24
阅读次数:
216
■朴素的模式匹配算法(Brute-Force,BF算法,蛮力算法)-换下一个,从头再来。 模式匹配的最原始想法,从目标串T的的第一个字符开始与模式串P的第一个字符开始进行比较,如果相等,则继续对后续的字符进行比较,...
分类:
编程语言 时间:
2015-05-26 06:54:32
阅读次数:
185
判断回文字符串是个比较经典的问题。 思路就是拿第一个字符和最一个字符比较,如果不等退出,相同的话继续刚刚的过程,直到第一个字符和最后一个字符相遇或者他们的距离为1时。说明他们是回文字符串。 下面的代码...
分类:
其他好文 时间:
2015-05-26 00:24:26
阅读次数:
282