摘要: 判断合法数字,之前好像在哪里看到过这题,记得当时还写了好久,反正各种改,今天看到了大神的解法(https://github.com/fuwutu/LeetCode/blob/master/Valid%20Number.cpp),用有限状态机,非常简洁,不需要复杂的各种判断!先枚举一下各种合法的输入情况:1.空格+ 数字 +空格2.空格+ 点 + 数字 +空格3.空格+ 符号 + 数字 + 空格4.空格 + 符号 + 点 + 数字 +空格5.空格 + (1, 2, 3, 4) + e + (1, 2, 3, 4) +空格组后合法的字符可以是:1.数字2.空格有限状态机的状态转移过程:起始为0:  阅读全文
posted @ 2013-09-19 20:04 Exio 阅读(1739) 评论(0) 推荐(0) 编辑
摘要: 字符串匹配,由于*可以匹配任意的一串字符,必须遍历所有可能的匹配情况,所以这里用迭代比递归要更好一点,遇到*之后,假定*匹配0个字符,一直到匹配整个s字符,遍历判断是否可以匹配成功;用指针prep记录*后面一个非*字符,用pres来记录遍历的起始点; 1 class Solution { 2 public: 3 bool isMatch(const char *s, const char *p) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() funct... 阅读全文
posted @ 2013-09-19 15:21 Exio 阅读(335) 评论(0) 推荐(0) 编辑