前言
仅记录学习笔记,如有错误欢迎指正。
三、二叉树
二叉树的中序遍历(非递归):
有左子树 都是先把左子树push
pop的时候 先左后头弹出
![在这里插入图片描述](https://img-blog.csdnimg.cn/4db5750fdaa94e5db063ca5bbfbf8202.png)
宽度优先遍历:
使用链表,push先左后右
![在这里插入图片描述](https://img-blog.csdnimg.cn/8f72446b491547d1a49759d4e06c98c6.png)
判断是否bst(二叉搜索树)
中序遍历是否升序:每个head节点和 prehead比较 head > prehead 的值
![在这里插入图片描述](https://img-blog.csdnimg.cn/9fcbefdf1f334ea9a8552161e6372e89.png)
判断是否为完全二叉树
1.有右没左孩子 error、
2.在1的条件下,发现一个有左没右,之后的节点的孩子必须都是叶子节点 在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/8c92c89eb9084baf9e5d5d66a0a2bb56.png)
树形DP套路:求层级和对应节点个数
![请添加图片描述](https://img-blog.csdnimg.cn/7d3b71959de34a609f093968701cdc3e.png)
例:求两个节点最近父节点
![在这里插入图片描述](https://img-blog.csdnimg.cn/b7dd3fed521b4187b19eb57eb63eac64.png)
打印折纸的痕迹方向 (IBM面试题)
打印每次折纸的方向(凹凸)
![在这里插入图片描述](https://img-blog.csdnimg.cn/787ba27429bd414e9092319bf807851e.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/3e96ff6edb35477097e3f6041b5ceab0.png)