【LeetCode】0938. 二叉搜索树的范围和(二叉树的遍历)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode】0938. 二叉搜索树的范围和(二叉树的遍历)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
圖解示例
算法思想
完整代碼
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:int rangeSumBST(TreeNode* root, int low, int high) {preoder(root,low,high);return ans;} private:int ans = 0;void preoder(TreeNode* root, int low, int high) {// 設置遞歸邊界if(root==NULL) return;// 判斷節點值是否是我所需要的節點值if(root->val>=low&&root->val<=high) {ans += root->val;} // 先序遍歷preoder(root->left, low, high);preoder(root->right, low, high);} };設計分析
時間復雜度:O(n)
空間復雜度:O(1)
提交結果
若有其他解法,歡迎評論區補充。
總結
以上是生活随笔為你收集整理的【LeetCode】0938. 二叉搜索树的范围和(二叉树的遍历)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode】0136. 只出现一
- 下一篇: 【程序人生】这一年 —— 2020