Letcode541: 문자열 반전 II(문자열)
1301 단어 Leetcode
코드:
1. 2k주기로 순차적으로 뒤집기, 운행시간 72ms
class Solution:
def reverseStr(self, s, k):
"""
:type s: str
:type k: int
:rtype: str
"""
if(k==1 or len(s)<=3):
return s
elif(len(s)<=k):
return s[::-1]
elif(len(s)<=2*k):
return s[0:k][::-1]+s[k:len(s)]
else:
i=0
strout=''
while(i<=len(s)-len(s)%(2*k)-2*k):
strout+=s[i:i+k][::-1]+s[i+k:i+2*k]
i+=2*k
if(len(s)%(2*k)>=k):
j=len(s)-len(s)%(2*k)
strout+=s[j:j+k][::-1]+s[j+k:len(s)]
else:
strout+=s[len(s)-len(s)%(2*k):len(s)][::-1]
return strout
2 list 목록을 이용하여 52ms를 사용하여 개선했습니다
class Solution:
def reverseStr(self, s, k):
"""
:type s: str
:type k: int
:rtype: str
"""
stack=[]
while s:
stack.append(s[:k])
s=s[k:]
#print(stack)
for i in range(len(stack)):
if (i+1)%2!=0:
stack[i]=stack[i][::-1]
return ''.join(stack)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LeetCode 문제풀이 노트 113.경로 총 II경로 총 II 제목 요구 사항 문제풀이 두 갈래 나무와 목표와 뿌리 노드에서 잎 노드까지의 모든 경로를 찾는 것은 목표와 같은 경로입니다. 설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다. 예: 다음과 같은 두 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.