파이썬 알고리즘 인터뷰 145p
244 | Reverse String
https://leetcode.com/problems/reverse-string/

내 코드
class Solution:
def reverseString(self, s: List[str]) -> None:
for i in range(len(s)//2):
temp = s[i]
s[i] = s[len(s)-i-1]
s[len(s)-i-1] = temp
sol = Solution()
s = ["H","a","n","n","a","h"]
sol.reverseString(s)
print(s)
0부터 길이의 절반까지 범위 지정
임시 저장 변수를 지정하여 두 수의 위치 바꿈
이상 코드
투 포인터 이용
class Solution:
def reverseString(self, s: List[str]) -> None:
left, right = 0, len(s)-1
while left < right:
# in one line, don't need to use temporary storage variable
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
파이썬 reverse 함수 이용
class Solution:
def reverseString(self, s: List[str]) -> None:
s.reverse()
학습
- 한 라인에서 s[left], s[right] = s[right], s[left] 해주면 임시 저장 변수 사용하지 않아도 됨
- 투 포인터 유용
반응형
'Algorithm > 파이썬 알고리즘 인터뷰' 카테고리의 다른 글
| [베열] 두 수의 합 (0) | 2022.01.10 |
|---|---|
| [문자열 배열] 가장 긴 팰린드롬 부분 문자열 (0) | 2022.01.03 |
| 파이썬 알고리즘 인터뷰 | 8장 연결 리스트 (1) | 2021.11.22 |
| 파이썬 알고리즘 인터뷰 | 7장 배열 (0) | 2021.11.22 |
| 파이썬 알고리즘 인터뷰 | 6장 문자열 조작 (0) | 2021.11.22 |
댓글