原題目:
思路:對bst採用中序遍歷,如果當前節點的值不等於前一節點的值,那麼就對其進行判斷,看看前一節點值得次數是否大於了maxn。分情況進行處理。
細節:記得對中序遍歷的第乙個節點做初始化,中序遍歷的最後一種節點在遞迴過程中是不會進行判斷的(因為其後面沒有節點和他進行比較),所以在main函式中,要對這一情況做單獨的判斷。
**:
class solution
else
else if(count == maxn) ans.push_back(pre);
pre = root->val;
count = 1;
}}
dfs(root->right);
}public:
vectorfindmode(treenode* root) ;
dfs(root);
// 最後一種節點的值(因為其後面沒有節點了,所以在這裡要判斷一下)
if(count > maxn) return;
else if(count == maxn) ans.push_back(pre);
return ans;
}};
leetcode 501 二叉搜尋樹中的眾數
給定乙個有相同值的二叉搜尋樹 bst 找出 bst 中的所有眾數 出現頻率最高的元素 假定 bst 有如下定義 結點左子樹中所含結點的值小於等於當前結點的值 結點右子樹中所含結點的值大於等於當前結點的值 左子樹和右子樹都是二叉搜尋樹 例如 給定 bst 1,null,2,2 返回 2 高階 你可以不...
Leetcode 501 二叉搜尋樹中的眾數
給定乙個有相同值的二叉搜尋樹 bst 找出 bst 中的所有眾數 出現頻率最高的元素 假定 bst 有如下定義 例如 給定 bst 1,null,2,2 1 2 2返回 2 提示 如果眾數超過1個,不需考慮輸出順序 高階 你可以不使用額外的空間嗎?假設由遞迴產生的隱式呼叫棧的開銷不被計算在內 使用額...
LeetCode 501 二叉搜尋樹中的眾數
給定乙個有相同值的二叉搜尋樹 bst 找出 bst 中的所有眾數 出現頻率最高的元素 假定 bst 有如下定義 結點左子樹中所含結點的值小於等於當前結點的值 結點右子樹中所含結點的值大於等於當前結點的值 左子樹和右子樹都是二叉搜尋樹 例如 給定 bst 1,null,2,2 1 2 2返回 2 高階...