二叉树整理(一)

概念

  • Leetcode定义
      public class TreeNode {
          int val;
          TreeNode left;
          TreeNode right;
          TreeNode() {}
          TreeNode(int val) { this.val = val; }
          TreeNode(int val, TreeNode left, TreeNode right) {
              this.val = val;
              this.left = left;
              this.right = right;
          }
     }
  • 遍历
    先序遍历:头左右
    中序遍历:左头右
    后序遍历:左右头

  • 递归序 每次到达节点就打印一次 进行加工即可得到三序的遍历
    如下图二叉树 递归序为
    在这里插入图片描述
    1,3,5,null,5,null,5,3,null,3,1,2,null,2,null,2,1
    即 1,3,5,5,5,3,1,2,2,2,1
    取第一次 1,3,5,2 先序
    取第二次 5,3,1,2 中序
    取第三次 5,3,2,1 后序

遍历实现

//先序遍历
public static void pre(TreeNode head){
	if(head.val==null){
		return;
	}
	System.out.println(head.val);
	pre(head.left);
	pre(head.right);
}
//中序遍历
public static void in(TreeNode head){
	if(head.val==null){
		return;
	}
	in(head.left);
	System.out.println(head.val);
	in(head.right);
}
//后序遍历
public static void after(TreeNode head){
	if(head.val==null){
		return;
	}
	after(head.left);
	after(head.right);
	System.out.println(head.val);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一门历史悠久而广泛应用的编程语言,学习C是很有价值的。以下是一份C学习攻略。 1. 了解C语言的基础知识 在学习C语言之前,必须掌握一些基本的计算机科学概念,如计算机操作系统,计算机体系结构,操作系统命令行界面使用,以及基本的输入/输出和C语言主要结构和语法如:变量,运算符,控制流和函数。 2. 学习C语言的基本数据类型 C语言有四个基本的数据类型,分别是整型,浮点型,字符型,和布尔型。对于每个数据类型,需要了解其内存分配、变量声明和定义、取值范围、以及基本的类型转换规则。 3. 掌握C语言的结构体和指针 C语言的结构体和指针是其最强大的特性之一。结构体允许程序员创建自己的数据类型集合,并将其组合为更复杂的数据结构。指针则允许程序员在内存中移动和引用数据,以实现更为灵活的数据结构。 4. 学习C语言的基本算法和数据结构 对于任何计算机程序,算法和数据结构都是关键因素。学习C语言最基本和广泛使用的算法和数据结构是非常重要的,如数组,链表,栈,队列,二叉树和排序算法等。 5. 熟悉C标准库 C标准库是包含在C编译器中的一组预编译库函数。掌握C标准库是非常重要的,因为大多数程序都使用它们提供的函数来完成一些常见的任务,如字符串处理,文件操作和内存分配。 6. 实践编程 最终的学习策略是编写实际代码。编写C代码需要大量的练习和时间,所以创建自己的项目或参与开源项目是最好的方式。 总之,C语言的广泛应用使得它成为一门必须掌握的编程语言之一。通过了解基本知识、掌握数据类型和指针、学习数据结构和算法,并熟悉标准库函数和实践编程,可以学好C语言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值