Kotlin實現二叉樹的深度遍歷和廣度遍歷

2021-09-20 10:24:41 字數 737 閱讀 2117

今天,用kotlin打造乙個二叉樹,也是練手級別小製作,希望大家喜歡。

資料結構知識

kotlin知識

data class treenode(var value: int, var leftchild: treenode? = null, var rightchild: treenode? = null)
這裡只寫了新增和遍歷。

新增採用了平衡二叉樹的思想,左孩子小於父節點,右孩子大於父節點

class binarytree 

}else -> }}

}}}}

//深度遍歷

fun inorderdepth(treenode: treenode?)

}//廣度遍歷

fun inorderwidth(treenode: treenode?)

rnode.rightchild?.let }}

}

object treetest 

fun order()

}

找個主函式呼叫下

treetest.addatree()

treetest.order()

即可。

log.d為安卓方法,其他平台自行替換列印內容即可

二叉樹的深度 二叉樹的深度

題目描述輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。及測試用例 單步除錯檢視過程 public class solution19 拿到左子樹的最大深度 int leftdep treedepth root.left 拿到右子...

二叉樹的深度 二叉樹的深度 二叉樹最大寬度

題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 返回它的最大深度 3 根節點加上左右子樹的最大深度就是樹的最大深度。如下 class solution ...

演算法練習之二叉樹的最大深度,二叉樹的層次遍歷 II

1.二叉樹的最大深度 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 j a definition for a bin...