摘要:
判断合法数字,之前好像在哪里看到过这题,记得当时还写了好久,反正各种改,今天看到了大神的解法(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: 阅读全文
摘要:
字符串匹配,由于*可以匹配任意的一串字符,必须遍历所有可能的匹配情况,所以这里用迭代比递归要更好一点,遇到*之后,假定*匹配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... 阅读全文