摘要: 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 题解: 这道题,一开始以为将后序遍历排序后的得到中序遍历,然后利用后序遍历和中序遍历进行二叉树的重组,但是由于后序遍历未必是BST树的,故得到的中序遍 阅读全文
posted @ 2019-10-15 23:34 自由之翼Az 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 题解: 与上道题没区别,就是在存入数据时,对于奇数行的数据,先反转一下,再存入即可 1 class Solution { 2 public: 3 阅读全文
posted @ 2019-10-15 22:53 自由之翼Az 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 题解: 使用BFS,按层打印即可 1 class Solution { 2 public: 3 vector<vector<int> > Print(TreeNode* pRoot) { 4 vector<vector<in 阅读全文
posted @ 2019-10-15 22:46 自由之翼Az 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 题解: 就是简单的层序遍历 1 class Solution { 2 public: 3 vector<int> PrintFromTopToBottom(TreeNode* root) { 4 vector<int>res; 5 B 阅读全文
posted @ 2019-10-15 22:27 自由之翼Az 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节 阅读全文
posted @ 2019-10-15 22:04 自由之翼Az 阅读(109) 评论(0) 推荐(0) 编辑