//面試題19:正規表示式匹配
//題目:請實現乙個函式用來匹配包含'.'和'*'的正規表示式。模式中的字元'.'
//表示任意乙個字元,而'*'表示它前面的字元可以出現任意次(含0次)。在本題
//中,匹配是指字串的所有字元匹配整個模式。例如,字串"aaa"與模式"a.a"
//和"ab*ac*a"匹配,但與"aa.a"及"ab*a"均不匹配。
#include
using
namespace
std;
bool matchcore(const
char* str, const
char*pattern);
bool match(const
char* str, const
char*pattern)
bool matchcore(const
char* str, const
char*pattern)
if (*str == *pattern || (*pattern == '
.' && *str != '
\0'))//
當第二個不是*
return matchcore(str + 1, pattern + 1
);
return
false;}
//********************測試**********************
void test(const
char* testname, const
char* string, const
char* pattern, bool
expected)
int main(int argc, char*ar**)
程式設計第十九題 手機短號
大家都知道,手機號是乙個11位長的數字串,同時,作為學生,還可以申 入校園網,如果加入成功,你將另外擁有乙個短號。假設所有的短號都是是 6 手機號的後5位,比如號碼為13512345678的手機,對應的短號就是645678。現在,如果給你乙個11位長的手機號碼,你能找出對應的短號嗎?輸入資料的第一行...
劍指offer刷題 正規表示式匹配
題目描述 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 abaca 匹配,但是與 aa.a 和 ab a 均不匹配 思路 縷清思路是多麼...
LeetCode第十九題 鍊錶節點的刪除
remove nth node from end of list 問題簡介 給定鍊錶,從鍊錶末尾刪除第n個節點並返回其頭部 例 給定鍊錶 1 2 3 4 5,n 2 從末尾刪除第二個節點後,鍊錶變為1 2 3 5 解法一 先遍歷一遍鍊錶,得到鍊錶的長度,再將長度減去給定的n得到正序的索引,再遍歷一遍...