![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
一颗随风而倒的墙头草
这个作者很懒,什么都没留下…
展开
-
关于二叉树的各种遍历及变形总结(python实现篇)
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def PreOrder(self, root): if not root: retu...原创 2018-07-02 17:44:17 · 475 阅读 · 0 评论 -
《剑指offer》【把二叉树打印成多行】(python版)
题目描述:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路:本题实际上就是层序遍历,但是要点在于如何在做到不同行结点分开。这里考虑的是class Solution: # 返回二维列表[[1,2],[4,5]] def Print(self, pRoot): # write code here nodelist = [] ...原创 2018-07-02 19:32:33 · 340 阅读 · 0 评论 -
《剑指offer》【按之字形顺序打印二叉树】(python版)
题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。def Print(self, pRoot): # write code here nodelist = [] outlist = [] lefttoright = True ...原创 2018-07-02 19:50:24 · 593 阅读 · 0 评论 -
《剑指offer》【请实现两个函数,分别用来序列化和反序列化二叉树】(python版)
题目描述:请实现两个函数,分别用来序列化和反序列化二叉树 思路:二叉树的序列化就是按照某种顺序遍历二叉树,遇到空结点是在遍历输出序列中 加入某个特殊字符进行标识,反序列化就是按照同样的规则将一个序列还原为一颗二叉树。 这里采用前序遍历的顺序进行序列化 特别注意:在序列化中class Solution: def Serialize(self, root): val...原创 2018-07-02 20:18:21 · 1307 阅读 · 0 评论 -
《剑指offer》【树的子结构】(python版)
题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路: 本题可以分为两步,第一步:找到A中与B的根结点值相等的结点R,第二步:判断以R为根结点的子树是否包含B一样的结构。本题思路不难,但是需要格外注意对指针空值的判断。# -*- coding:utf-8 -*-# class TreeNode:# def __init_...原创 2018-07-16 16:25:40 · 996 阅读 · 0 评论 -
《剑指offer》【二叉搜索树的后序遍历序列】(python版)
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。# -*- coding:utf-8 -*-class Solution: def VerifySquenceOfBST(self, sequence): # write code here if len...原创 2018-07-17 20:18:57 · 1627 阅读 · 0 评论