本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。
給定一個只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。有效字符串需滿足:1.左括號必須用相同類型的右括號閉合。2.左括號必須以正確的順序閉合。
1)定義一個函數,輸入字符串,首先判斷字符串是否爲空字符串,若爲空,則不符合題意,打印無效。
str = input(“請輸入一個只包括‘(’,’)’,‘[‘,’]’,’{‘,’}’”的字符串:)
|
2)判斷字符串中括號的個數,若爲單數那必定是無效。
3)判斷字符串中的括號是否爲相同類型閉合,是否按照正確的順序閉合。
for i in range(int(len(str))):
for j in range(len(str) - 2):
x1 = str[j] == ‘(‘ and str[j + 1] == ‘)’
x2 = str[j] == ‘[‘ and str[j + 1] == ‘]’
x3 = str[j] == ‘{‘ and str[j + 1] == ‘}’
str = str[:j] + str[j + 2]
|
此題主要需要想辦法判斷括號左右是否符合條件,在合適的地方跳出循環,判斷字符串的長度即可,多思考多嘗試對此類題也會有更深的理解。
本文分享自微信公衆號 - 算法與編程之美(algo_coding)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。