1
var SummaryRanges = function () {2
this.tree = null; // { val, left?, right? }9
SummaryRanges.prototype.addNum = function (val) {16
if (node.val === val) {20
side = node.val > val ? "left" : "right";23
parent[side] = { val };28
* @return {number[][]}30
SummaryRanges.prototype.getIntervals = function () {31
// travel from left to right33
// > (x === last[1] + 1) ? update last[1] : create a new one34
const travel = (node, check) => {38
travel(node.left, check);40
travel(node.right, check);43
const check = (val) => {44
if (!result.length || val > result[result.length - 1][1] + 1) {45
result.push([val, val]);47
result[result.length - 1][1] = val;50
travel(this.tree, check);55
* Your SummaryRanges object will be instantiated and called as such:56
* var obj = new SummaryRanges()58
* var param_2 = obj.getIntervals()