LeetCode 530二叉搜索树的最小绝对值差-简单
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 530二叉搜索树的最小绝对值差-简单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一棵所有節點為非負值的二叉搜索樹,請你計算樹中任意兩節點的差的絕對值的最小值。
示例:
輸入:
1\3/2輸出:
1
解釋:
最小絕對差為 1,其中 2 和 1 的差的絕對值為 1(或者 2 和 3)。
提示:
樹中至少有 2 個節點。解題思路:
二叉搜索樹中序遍歷的性質:一棵二叉搜索樹的中序遍歷序列是一個非遞減的有序序列。
代碼如下:
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:int getMinimumDifference(TreeNode* root) {int pre = -1,ans = INT_MAX;dfs(root,pre,ans);return ans;}void dfs(TreeNode *root,int &pre,int &ans){if (root==nullptr) return ;dfs(root->left,pre,ans);if (pre==-1){pre = root->val;}else {ans = min(ans,abs(root->val-pre));pre = root->val;}dfs(root->right,pre,ans);} };總結
以上是生活随笔為你收集整理的LeetCode 530二叉搜索树的最小绝对值差-简单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 能减肥的水果是什么
- 下一篇: LeetCode 783二叉搜索树节点最