leetcode 938.二叉搜索树
Posted wegret
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 938.二叉搜索树相关的知识,希望对你有一定的参考价值。
中序遍历得到一个队列。然后找left和right之间的和就行了。
(第一遍理解错了意思。看懂了就不难。)
int l,h; int que[20007],last; void dfs(TreeNode* now){ if (now==NULL) return ; dfs(now->left); que[++last]=(now->val); dfs(now->right); } class Solution { public: int rangeSumBST(TreeNode* root, int low, int high) { last=0; l=low,h=high; dfs(root); int cnt=0,result=0; for (int i=1;i<=last;i++){ if (que[i]==l||que[i]==h) cnt+=1; if (cnt==1) result+=que[i]; else if (cnt==2) return result+que[i]; } return 0; } };
以上是关于leetcode 938.二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章