Simple, easy to understand,  java 0 ms, faster than 100.00%, using dfs, clean code with comment
\n\nclass Solution {\n    int sum;\n    public int rangeSumBST(TreeNode root, int low, int high) {\n        sum = 0;\n        \n        dfs(root, low, high);\n 
```\n\nclass Solution {\n    int sum;\n    public int rangeSumBST(TreeNode root, int low, int high) {\n        sum = 0;\n        \n        dfs(root, low, high);\n        \n        return sum;\n    }\n    private void dfs(TreeNode node, int low, int high){\n        if(node == null) return;\n        \n        int currentVal = node.val;\n        \n        //add in sum, if its value in range\n        if(currentVal >= low && currentVal <= high) sum += currentVal;\n        \n        //no need to check in left, if current val is less than low\n        //As it given,this is BST, so in left there will lesser number\n        if(currentVal >= low)\n        dfs(node.left, low, high);\n        \n        //no need to check in right, if current val is greater that high\n        if(currentVal <= high)\n        dfs(node.right, low, high);\n    }\n    \n}\n```
['Depth-First Search', 'Recursion', 'Java']