0

我有一个像“SANFRANSICO”和“CHICAGO”这样的两个字符串

现在我想让它就像字符串是反向的,但是在一个单一的字符串中,比如“OOCGIASCNIAHRCFNAS”

我已经完成了代码,但它给了我错误的结果

查看我的代码

- (NSString *)changeString1:(NSString *)string string2:(NSString *)string2{
    int first = [string length];
    int second = [string2 length];
    int total = first+second;
    NSMutableString *str = [[NSMutableString alloc] init];
    string = [self reverseString:string];
    string2 = [self reverseString:string2];

    for (int i=0; i<total+1; i++) 
    {
        if (i%2==1) {
            int j = i/2;
            if(j < second){
                NSString *ichar  = [NSString stringWithFormat:@"%c", [string2 characterAtIndex:j]];
                [str appendString:ichar];
            }
            else{
                NSString *ichar  = [NSString stringWithFormat:@"%c", [string characterAtIndex:j+1]];
                NSLog(@"222 %d %@",j+1, ichar );
                [str appendString:ichar];
                check = YES;
            }
        }
        else {
            int j = i/2;
            if(check == YES){
            }
            else{
                NSString *ichar  = [NSString stringWithFormat:@"%c", [string characterAtIndex:j]];
                 NSLog(@"1111 %d %@",j, ichar );
                [str appendString:ichar];
            }
        }
    }
    return str;

}
4

1 回答 1

0

发布此问题后我很快找到了答案 抱歉发布此问题

看看我的回答

- (NSString *)changeString1:(NSString *)string string2:(NSMutableString *)string2{
    int first = [string length];
    int second = [string2 length];
    string = [self reverseString:string];
    string2 = [self reverseString:string2];

    for(int i =second; i<first; i ++){
        [string2 appendString:@" "];
    }
   int total = first*2;
    NSMutableString *str = [[NSMutableString alloc] init];
    for (int i=0; i<total; i++) 
    {
        if (i%2==1) {
            int j = i/2;
            if(j < second){
                NSString *ichar  = [NSString stringWithFormat:@"%c", [string2 characterAtIndex:j]];
                [str appendString:ichar];
            }
        }
        else {
            int j = i/2;
            if(j < first){
                NSString *ichar  = [NSString stringWithFormat:@"%c", [string characterAtIndex:j]];
                [str appendString:ichar];
            }
            else{
                NSString *ichar  = [NSString stringWithFormat:@"%c", [string2 characterAtIndex:j]];
                [str appendString:ichar];
            }
        }
    }
    NSLog(@"str %@", str);
    return str;


}
于 2012-07-18T07:17:26.117 回答