2009年5月7日 星期四

UVa 112 - Tree Summing

面對UVa 112 - Tree Summing這一題,一開始我的想法是要先將整顆樹建立起來,再從root拜訪到leaf。但再仔細研究一下,其實不需要建立樹,用遞迴的方式,很快就能解出。遞迴想法很容易,簡單述說如下:

1. 從root開始,將value傳給左右子節點。
2. 子節點將value與父節點傳來的value相加,再將value傳給自己的左右子節點。
3. 當節點為葉節點時,判斷總合是否相符。

程式碼

對我來講,一開始遇見的瓶頸在於怎樣處理題目給的輸入,但只要想通了就很容易,每一個節點都從左括號開始,右括號結束,抓著這一點,程式就可以開始寫了。這個題目還有一點要注意的是有可能會出現負值,所以記得要處理。

沒有留言:

張貼留言