线段树解决leetcode307. Range Sum Query - Mutable

在下面的图中,求[0,0]和[1,1]区间元素和,

对于[0,0] start =0 ,end = 0, 查到root = 4 [0-1]的节点,mid = 0, 此时mid > end-1,表示要查找的范围完全落到了4的左边节点,只递归左边

对于[1,1] start =1 ,end = 1, 查到root = 4 [0-1]的节点,mid = 0, 此时mid <start,表示要查找的范围完全落到了4的右边节点,只递归左边

对于[1,5],start = 1,end = 5,查到root = 36 [0-5]的节点,mid = 2,没有超出所求和区间[1,5],因此左右都要递归,由于root的左节点代表的区间为[0,mid],root右区间代表的区间为[mid+1],和所求和区间[1,5]合并 代码为 sum(root->left, start, mid)+return sum(root->right, mid+1, end)

 

posted on 2017-01-15 16:40  Joker_88  阅读(188)  评论(0编辑  收藏  举报

导航