python 一次编辑
生活随笔
收集整理的這篇文章主要介紹了
python 一次编辑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
字符串有三種編輯操作:插入一個字符、刪除一個字符或者替換一個字符。 給定兩個字符串,編寫一個函數判定它們是否只需要一次(或者零次)編輯。示例 1:輸入:
first = "pale"
second = "ple"
輸出: True示例 2:輸入:
first = "pales"
second = "pal"
輸出: False
class Solution:"""解題思路:1.先判斷兩個字符串長度是否相等 2.判斷兩個字符串長度的差值石佛等于11.找出字符串長度比較長的哪一個,當有值不相等時,去給長度長的那個字符串的索引值+1"""def oneEditAway(self, first: str, second: str) -> bool:first_len = len(first)second_len = len(second)different_num = 0if first_len == second_len:if first_len == 1:return Truefor i in range(first_len):if first[i] != second[i]:different_num += 1return False if different_num > 1 else Trueelif abs(first_len-second_len) == 1:if first_len == 0 or second_len == 0:return Truefirst_index = 0second_index = 0# 當第一個大于第二個的時候,讓其交換位置if first_len > second_len:first, second = second, firstfirst_len = len(first)second_len = len(second)while first_len > first_index and second_len > second_index: if first[first_index] != second[second_index]:different_num += 1second_index += 1 else:first_index += 1second_index += 1return False if different_num > 1 else True else:return False
總結
以上是生活随笔為你收集整理的python 一次编辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 跳水板
- 下一篇: python 珠玑妙算