Skip to content

Instantly share code, notes, and snippets.

@spurscho
Created February 15, 2020 06:29
Show Gist options
  • Save spurscho/28b631c58c60b583e930f5e63606a4ca to your computer and use it in GitHub Desktop.
Save spurscho/28b631c58c60b583e930f5e63606a4ca to your computer and use it in GitHub Desktop.
SimpleTraverserTreeNode.swift
class TreeNode {
var data: Int
var left: TreeNode?
var right: TreeNode?
var parent: TreeNode?
init(_ data: Int) {
self.data = data
}
}
var arr = [Int]()
class CheckTreeNode {
var root: TreeNode?
func preOrder(_ node: TreeNode?) {
if node == nil {
return
}
dump("\(node!.data)")
preOrder(node?.left)
preOrder(node?.right)
}
func inOrder(_ node: TreeNode?) {
if node == nil {
return
}
inOrder(node?.left)
dump("\(node!.data)")
inOrder(node?.right)
}
func postOrder(_ node: TreeNode?) {
if node == nil {
return
}
postOrder(node?.left)
postOrder(node?.right)
dump("\(node!.data)")
}
}
let sol = CheckTreeNode()
let seven = TreeNode(7)
let three = TreeNode(3)
let one = TreeNode(1)
let five = TreeNode(5)
let eight = TreeNode(8)
let ten = TreeNode(10)
seven.left = three
seven.right = eight
three.parent = seven
three.left = one
three.right = five
eight.parent = seven
eight.right = ten
sol.inOrder(seven)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment