[leetcode 344] Reverse String

344. Reverse String

https://leetcode.com/problems/reverse-string/

해결 과정

앞 뒤의 char를 swqp 하는 방법으로 문제를 풀었다.
엣지 케이스인 입력 CharArray s가 0,1인 케이스일 때에 대한 예외 코드를 추가했다.

코드

fun reverseString(s: CharArray): Unit {
  if(s.size == 0 || s.size == 1) return
  
  val lastIndx = s.size-1
  for(i in 0..(lastIndx)/2) {
    var tmp = s[i]
    s[i] = s[lastIndx-i]
    s[lastIndx-i] = tmp
  }
}

배운 점

홀수일때와 짝수일때를 나누어 생각해볼 수 있다.

  • 예를 들어, 홀수 char를 갖는 “hello” 는 for문을 0..size/2 까지 돌아도 정상 동작하지만 짝수 char를 갖는 “hell”은 그렇지 않다.

  • 이 문제에서는 lastIndex의 절반까지만 for 문을 돌지만, lastIndex가 홀수일 떄와 짝수일 때를 나누어 고민해볼 만하다.

Leave a comment