本例中节点权结构图
1. Kotlin 中二叉树的创建
简单二叉树的创建分为三部分: 新建节点、新建树、给节点和树赋值并关联,下面进入编码阶段:
1.1 新建节点 Bean:TreeNode.kt
注意:在 Kotlin 中使用 data class 声明类时,可以直接创建一个包含 getters、 setters、 equals()、 hashCode()、 toString() 以及 copy() 的 POJO,大大减少了样板代码数量,这是 Kotlin 的一大特色!
/**
* @des 链式存储节点Bean
* @author liyongli 20190215
*
* @param leftNode : 左子节点
* @param value : 节点的权
* @param rightNode : 右子节点
* */
data class TreeNode(var leftNode:TreeNode? = null, var value:Int?, var rightNode:TreeNode? = null) {}
1.2 新建树对象 Bean:BianryTree.kt
只需声明一个根节点对象 rootNode,同样的使用 data class 声明类的类型,这样无需编写 getters、setters 样板代码,代码简洁度及编程效率确实大大的 up ↑
/**
* @des 链式存储二叉树Bean
* @author liyongli 20190215
*
* @param rootNode : 二叉树的根节点
* */
data class BianryTree(var rootNode:TreeNode) {}