웨이에서 NSString
을 역순으로 바꾸기 위해 을 역순으로 사용했습니다. 나는 정답을 얻고있다. 그러나 이것이 괜찮은지 확실하지 않은 경우 메모리 관리. 나는 Objective-C의 메모리 관리에 대해 많이 모른다.NSString을 재귀 적으로 역순으로 바꾸십시오.
기타 효율적인 방법은 매우 감탄할 것입니다. 여기에 내가 재귀로 구현하고 있습니다 때문에
-(NSString *)reverseString{
if ([self length]<2) {
return self;
} else {
return [[[self substringFromIndex:1] reverseString] stringByAppendingString:[self substringToIndex:1]];
}
}
그러나이 문제는 Reverse NSString text하지만 중복 유사하다. 그리고 특별히 코드 예제가 아닌 메모리 사용량에 대해 질문했습니다.
긴 문자열 (수천 자릿수)을 뒤집어 쓰려고하면 스택 오버플로가 발생할 가능성이 높습니다. 그리고 코드는 하나 이상의 문자로 인코딩 된 모든 유니 코드 문자로 잘못된 문자열을 생성합니다. – rmaddy
솔직히이 재귀 알고리즘을 사용하는 것은 아마도 문자열을 뒤집는 가장 유용한 방법 중 하나 일 것입니다. Sanjit에 의해 링크 된 복제물은이 알고리즘보다 훨씬 더 나은 접근법을 가지고 있습니다. – rmaddy
그냥 재미있게하려면 이모티콘이 포함 된 문자열을 뒤집어보세요. 서면, 공간 및 시간 요구 사항은 O (n^2)입니다. 여기서 n은 원래 문자열의 길이입니다. 10 만 자의 문자열로 Mac이 무릎을 꿇을 것입니다. – gnasher729