バイナリツリーをトラバースするには3つの方法があります。
1、プレオーダートラバーサル NLR(プレオーダートラバーサル)
2、LNRの中位トラバーサル
3.後位トラバーサルLRN
コード・スウィフト
class TreeNode {
var val: Int
var left: TreeNode?
var right: TreeNode?
init(_ val: Int) {
self.val = val
self.left = nil
self.right = nil
}
}
1.序文
func treeTraversal(_ t: TreeNode?) -> Void {
if let tree = t {
print("\(tree.val)")
seeTrees(tree.left)
seeTrees(tree.right)
}
}
2.ミドルオーダー
func treeTraversal(_ t: TreeNode?) -> Void {
if let tree = t {
seeTrees(tree.left)
print("\(tree.val)")
seeTrees(tree.right)
}
}
3.後続シーケンス
func treeTraversal(_ t: TreeNode?) -> Void {
if let tree = t {
seeTrees(tree.left)
print("\(tree.val)")
seeTrees(tree.right)
}
}