 แนะนำวิธีแก้ไขปัญหา leetcode นี้
class Solution: def checkValidString(self, s: str) -> bool: open_stack = [] star_stack = [] for i, char in enumerate(s): # เพิ่มวงเล็บปีกกา open_stack และ star to star_stack ถ้า char == "( ": open_stack.append(i) elif char == "*": star_stack.append(i) # ตรวจสอบวงเล็บปีกกาเปิดหรือดาวในปัจจุบัน ใส่เครื่องหมายเหล่านี้ในกรณีที่ตรงกับวงเล็บปิด # หากไม่พบวงเล็บปีกกาที่ตรงกัน แสดงว่า นิพจน์ไม่ถูกต้อง elif char == ")": if open_stack: open_stack.pop() elif star_stack: star_stack.pop() else: return False # ตรวจสอบความยาวของสแต็คที่เหลือในขณะที่ open_stack และ star_stack: o = open_stack pop() s = star_stack.pop() ถ้า o > s: return False return len(open_stack) == 0