Python实现打印二叉树某一层的所有节点
不多说,直接贴程序,如下所示
- # -*- coding: utf-8 -*-
- # 定义二叉树节点类
- class TreeNode(object):
- def __init__(self,data=0,left=0,right=0):
- self.data = data
- self.left = left
- self.right = right
- # 遍历某一层所有节点,并打印
- def TransLevel(root,level):
- if root == None:
- return
- else:
- if level == 1 and isinstance(root, TreeNode):
- print "%s " % root.data,
- else:
- if isinstance(root, TreeNode):
- TransLevel(root.left, level-1)
- TransLevel(root.right, level-1)
- # 建立的二叉树
- # ------------------------
- # root
- # 7 8
- #
- # 2 5
- # 1 3 4
- #
- # -------------------------
- n1 = TreeNode(data=1)
- n2 = TreeNode(2,n1,0)
- n3 = TreeNode(3)
- n4 = TreeNode(4)
- n5 = TreeNode(5,n3,n4)
- n6 = TreeNode(6,n2,n5)
- n7 = TreeNode(7,n6,0)
- n8 = TreeNode(8)
- root = TreeNode('root',n7,n8)
- TransLevel(root, 5)
参考资料:
1、python数据结构之二叉树遍历的实现
http://www.cnblogs.com/yupeng/p/3414451.html
2、打印二叉树某一层的节点
http://www.cnblogs.com/-Lei/archive/2013/02/25/2928629.html
Python实现打印二叉树某一层的所有节点的更多相关文章
- 剑指offer:按之字形顺序打印二叉树(Python)
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路 先给定一个二叉树的样式: 前段时间 ...
- Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐
# Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐 from binarytree import build import random # https://www.cn ...
- Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK
# Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK from binarytree import build import random # https://www. ...
- 剑指offer-顺序打印二叉树节点(系列)-树-python
转载自 https://blog.csdn.net/u010005281/article/details/79761056 非常感谢! 首先创建二叉树,然后按各种方式打印: class treeNo ...
- 【剑指Offer】从上往下打印二叉树 解题报告(Python)
[剑指Offer]从上往下打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...
- 【剑指Offer】按之字形顺序打印二叉树 解题报告(Python)
[剑指Offer]按之字形顺序打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...
- 剑指offer——python【第59题】按之子形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路 这道题其实是分层打印二叉树的进阶版 ...
- [LeetCode] 655. Print Binary Tree 打印二叉树
Print a binary tree in an m*n 2D string array following these rules: The row number m should be equa ...
- 剑指Offer面试题:21.从上到下打印二叉树
一.题目:从上到下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印.例如输入下图中的二叉树,则依次打印出8.6.10.5.7.9.11. 二叉树节点的定义如下,采用 ...
随机推荐
- 揭秘Facebook首个数据中心:全球15亿用户的账户信息都在这里
投递人 itwriter 发布于 2016-07-14 17:41 评论(0) 原文链接 [收藏] 对于 Facebook.Google 这种体量的科技公司而言,数据中心应该是处于军事级别的保密 ...
- PLSQL Developer不支持Oracle 64位客户端解决方法
问题描述: 在虚拟机同网段,搭建Oracle 11.2.04数据库64位的,本机操作系统Win10 x64和PLSQL 9.03,目前想利用PLSQL远程登录ORACLE数据库操作.当初用 insta ...
- 写启动界面Splash的正确姿势,解决启动白屏(转)
原文链接:http://www.jianshu.com/p/cd6ef8d3d74d 从我学习写第一个android项目以来,我都是这样写着启动界面: 在里面做一些事,比如:第一次启动时拷贝数据. 然 ...
- win7命令行 端口占用 查询进程号 杀进程
打开CMD窗口 win+R–>cmd 根据端口号查找进程号 netstat -nao|grep 端口号 根据进程号得到进程名 tasklist |findstr 进程号 杀进程 taskkill ...
- 线性回归&&code
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from certifi import __mai ...
- 在Filter 无法跳转地址
private DataDbContext db = new DataDbContext(); /// <summary> /// 控制器执行前判断 /// </summary> ...
- Web前端性能优化教程09:图像和Cookie优化
本文是Web前端性能优化系列文章中的第九篇,主要讲述内容:图像和Cookie优化.完整教程可查看: 一. 图像优化 图像基础知识 gif: 适用于动画效果,例如提示的滚动条图案 jpg: 是一种使用 ...
- jQuery中data()方法用法实例
语法结构一: 复制代码代码如下: $(selector).data(name,value) 参数列表: 参数 描述 name 存储的数据名称. value 将要存储的任意数据. 实例代码: 复制代码代 ...
- 【HDU 5858】Hard problem
边长是L的正方形,然后两个半径为L的圆弧和中间半径为L的圆相交.求阴影部分面积. 以中间圆心为原点,对角线为xy轴建立直角坐标系. 然后可以联立方程解出交点. 交点是$(\frac{\sqrt{7} ...
- random模块
如下 #!/usr/bin/env python # encoding: utf-8 import sys import platform print (platform.python_version ...