【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(三)
大家好 我是寸铁👊
金三银四,树、dfs、bfs、回溯、递归是必考的知识点✨
快跟着寸铁刷起来!面试顺利上岸👋
喜欢的小伙伴可以点点关注 💝
530. 二叉搜索树的最小绝对差
考点
DFS、双指针
思路
思路:双指针,一个指针用于记录当前的节点(回溯时的当前节点),一个指针用于记录上一个节点。
不断更新两个指针的值的差值的最小值即可
代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
/*
思路:双指针,一个指针用于记录当前的节点(回溯时的当前节点),一个指针用于记录上一个节点。
不断更新两个指针的值的差值的最小值即可
*/
TreeNode pre; //记录上一个遍历的节点
int result = Integer.MAX_VALUE;
public int getMinimumDifference(TreeNode root) {
if(root == null)return 0;
traversal(root);
return result;
}
public void traversal(TreeNode root){
if(root == null)return; // 遍历到最后一个节点时