我負責創建檢查,如果一些小「(」和大「[」括號和正確關閉的功能。例如...確保括號是平衡的?
(()) [] ([])[(())]
...是正確的,但.. 。
() [(])
...不正確。
如何開始處理這個問題有什麼建議?使用遞歸函數被禁止。
這是我到目前爲止有:
{
int nr_ap_x = 0; // fie x - "("
int nr_ap_y = 0; // fie y - ")"
boolean corect = true;
for (int i=0; i < sir.length; i++)
{
if (sir[i].compareTo("(") == 0) nr_ap_x++;
else
if (sir[i].compareTo(")") == 0) nr_ap_y++;
if (nr_ap_x < nr_ap_y) corect = false;
}
if (nr_ap_x != nr_ap_y) corect = false;
if (corect) System.out.println("Parantezele sunt inchise corect ! ");
else System.out.println("Parantezele NU sunt inchise corect ! ");
}
我給了+1。但是,本文僅討論可調優化的遞歸,這是一個比用堆棧模擬遞歸更具體的情況。 – 2011-10-24 19:10:55