需要寫一個方法實現(xiàn)將一個String表達式按下面的要求轉(zhuǎn)換。說明:1.表達式里有三種符號 :+ , - , /。要求:實現(xiàn) / 符號優(yōu)先級最高,在 / 符號相關(guān)的字符兩邊加上括號?( + , -優(yōu)先級一致)例如:原表達式如下:var?keyword?=?"AA?+?BB/CC/CD?+?DD?-?EE?+?(FF-GG/HH)/JJ?+?KK"要求轉(zhuǎn)換表達式如下:var?keyword?=?"AA?+?(BB/CC/CD)?+?DD?-?EE?+?((FF-(GG/HH))/JJ)?+?KK"嘗試使用正則匹配,遞歸方式實現(xiàn)雙層括號內(nèi)滿足要求,但是雙層括號以上的表達式就無法實現(xiàn)。大概是遞歸調(diào)用的情況沒有考慮到位。思維受阻了??纯从袥]有大佬們可以有其它思路和實現(xiàn)方式。
一道復(fù)雜的算法題,比較有挑戰(zhàn),感興趣的可以試試。(JavaScript/Java代碼皆可)
Aime_
2019-08-04 22:10:26