Неверный код для работы с рекурсивной структурой - PullRequest
0 голосов
/ 01 июля 2019

Я пишу код для работы с рекурсивной структурой, но некоторые работают не так, как я ожидаю.

/**
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func rangeSumBST(root *TreeNode, L int, R int) int {
    var ret int = 0
    for root := root; root != nil ; root = root.Left {
        for root := root; root != nil ; root = root.Right {
            if root.Val >= L && root.Val <= R && root.Val != 0{
                ret +=  root.Val
            }
        }
    }
    return ret
}

Где я не прав? У меня ошибка в тесте с этими данными.

Input: [10,5,15,3,7,13,18,1,null,6]
L = 6
R = 10
My output: 17
Expected output: 23
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...