二叉树题型框架4

Posted ChangZhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树题型框架4相关的知识,希望对你有一定的参考价值。

二叉搜索树

性质:
1.对于BST的每一个节点node,左子树节点的值都比node的值要小,右子树的值都比node的值大
2.对于BST的每一个节点node,它的左侧子树和右侧子树都是BST。
从算法题的角度来看BST,除了它的定义,还有一个重要的性质:BST的中序遍历结果是有序的

void traverse(TreeNode root){
if(root==null){
return;
}
traverse(root.left);
//中序遍历代码位置
print(root.val);
traverse(root.right);
}

寻找第K小的元素\\

考虑每个根节点需要干什么,节点需要遍历自己时就将rank值加1,代表遍历到了第rank小的节点

int res=0;
int rank=0;

int kthSmallest(TreeNode root,int k){
traverse(root,k);
return res;
}

二叉搜索树转换为累加树

节点需要将自己的值更新为res,res代表当前从大到小的节点值的和

public void traverse(TreeNode root){
if(root==null){
return;
}

traverse(root.right);
res+=root.val;
root.val=res;
traverse(root.left);
}

以上是关于二叉树题型框架4的主要内容,如果未能解决你的问题,请参考以下文章

笔试常考题型之二叉树的遍历

一文通数据结构与算法之——二叉树+常见题型与解题策略+Leetcode经典题

求上到下打印出二叉树的每个节点三种题型

从上到下打印二叉树的三种题型

从上到下打印二叉树的三种题型

从上到下打印二叉树的三种题型