01.06 leetcode 면접 질문입니다. 문자열 압축 (파이썬) (단순)

제목 :
그림 삽입 설명 여기
솔루션 :

  1. 문자열 변수는 압축 TEMP1, 문자 개수의 전류 발생 가변 수 (초기 값은 0이다)의 계산을 저장하기 위해 제공 한 후;
  2. S [0]으로 초기화 TEMP1 카운트에 1을 더한, 사이클 문자열 S이어서, 상기 현재의 글자가 현재의 문자 반복 + 1는 이전 문자와 동일한 경우, 동일하지 않은 경우, 현재 문자 TEMP1 첨가 현재 문자 세트 번호 문자열;
  3. 문자열 압축 요구되는 마지막 TEMP1.

다음과 같이 코드입니다 :

class Solution:
    def compressString(self, S):

    	if S == '':
    		return S

    	#定义一个临时存储的空间
    	temp1 = ''

    	count = 0

    	if temp1 == '':
    			temp1 += S[0]
    			count += 1

    	for i in range(1,len(S)):


    		if S[i] != S[i - count]:			

    			
    			temp1 += str(count)
    			temp1 += S[i]


    			count = 1

    		else:

    			count += 1

    	temp1 += str(count)

    	if len(temp1) < len(S):
    		return temp1
    	else:
    		return S
게시 된 100 개 원래 기사 · 원의 찬양 3 ·은 10000 +를 볼

추천

출처blog.csdn.net/cy_believ/article/details/104898479