今天的iOS面试上机题

今天去面试,有一道上机题,长时间不写字符串方法,竟然没做出来,丢人了,晚上补上,记录一下,大家有更好的方法欢迎回复。 本人菜鸟,大神勿喷啊。

题目(凭记忆):写一个方法,请将任意字符串中的"<" ">"最近的之间的内容删除,并返回其余的字符串;例如:

NSString * str1 = @"4<5";

返回 4 <5;

NSString *str2 = @"abcde";

返回 abcde;

感谢“子达如何”提供的正确算法,答案看这里;

防止误导读者,以下方法作废。

欢迎各位大神提供新算法(一定要加注释啊)···

我的解决方法:

- (NSString *)getEndStr:(NSString *)str

{

NSMutableString * mutStr = [[NSMutableString alloc]init];

NSArray *arr = [str componentsSeparatedByString:@">"];

for (int i = 0 ;i < arr.count; i ++) {

NSString * a = arr[i];

if (a.length > 0) {

if (![[a substringWithRange:NSMakeRange(0, 1)] isEqualToString:@"<"] ) {

for (NSInteger j =a.length ; j >0; j --) {

if ([[a substringWithRange:NSMakeRange(j - 1, 1)] isEqualToString:@"<"]) {

[mutStr appendString:[a substringToIndex:j - 1]];

break;

}

}

}

}

}

return mutStr;

}

你可能感兴趣的:(今天的iOS面试上机题)