1)表达式m:一定不为空,只能由数字和“*”构成,其中的“*”表示匹配一个或多个“它前面所有非”*“的数字的和值除以10的余数”;“*”如果在最前面或其前面都是“*”,则只可以是任意一个数字。
2)数字串s:可能为空,只能由数字构成,不能包含其它字符。
3)是否匹配:匹配要求覆盖整个数字串s,而不是某一部分匹配。
解题要求:不能将m转写成标准正则表达式来解题,需要自己编程实现匹配算法。
注意,对应objc语言,系统里的@autoreleasepool {} 需要改写成如下形式
#import <Foundation/Foundation.h> //strcmp //NSString: //- (NSArray<NSString *> *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator //- (unichar)characterAtIndex:(NSUInteger)index; //- (NSString *)substringWithRange:(NSRange)range; int main(int argc, const char * argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; //... //add your code //... [pool drain]; return 0; }