#27206: 遞迴解括號


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a017. 五則運算 | From: [27.52.228.184] | 發表日期 : 2021-09-18 15:58

這題最複雜的地方應該是括號,所以我的想法是用遞迴的方式,算出括號內的值。

1. 首先把輸入轉為陣列,然後呼叫遞迴函式。

2. 因為括號是最優先的,所以遞迴函式內首先處理括號。先找出最左邊的括號,然後找對應的右括號,再用兩邊括號內的部份呼叫遞迴函式,並把左右括號間的部份刪掉,用遞迴函式回傳的值取代,重複這個步驟直到沒有括號

3. 括號處理完之後就可以簡單的從左到右進行乘除運算,然後加減運算

 

 
ZeroJudge Forum