|
| 1 | +import scala.collection.mutable |
| 2 | + |
| 3 | +class TreeNode(_value: Int = 0, _left: TreeNode = null, _right: TreeNode = null) { |
| 4 | + var value: Int = _value |
| 5 | + var left: TreeNode = _left |
| 6 | + var right: TreeNode = _right |
| 7 | +} |
| 8 | + |
| 9 | +object Solution { |
| 10 | + import scala.collection.mutable |
| 11 | + def rightSideView(root: TreeNode): List[Int] = { |
| 12 | + val array = mutable.ArrayBuffer.empty[mutable.ArrayBuffer[Int]] |
| 13 | + def bfs(node: TreeNode, level: Int): Unit = { |
| 14 | + if (node != null) { |
| 15 | + if (array.size <= level) { |
| 16 | + array.addOne(mutable.ArrayBuffer.empty) |
| 17 | + } |
| 18 | + array(level).addOne(node.value) |
| 19 | + bfs(node.left, level + 1) |
| 20 | + bfs(node.right, level + 1) |
| 21 | + } |
| 22 | + } |
| 23 | + bfs(root, 0) |
| 24 | + println(array) |
| 25 | + array.map(_.last).toList |
| 26 | + } |
| 27 | +} |
| 28 | + |
| 29 | +val tree1 = new TreeNode(1, |
| 30 | + _left = new TreeNode(2, |
| 31 | + _left = new TreeNode(5) |
| 32 | + ), |
| 33 | + _right = new TreeNode(3, |
| 34 | + _left = new TreeNode(6), |
| 35 | + _right = new TreeNode(4), |
| 36 | + ) |
| 37 | +) |
| 38 | + |
| 39 | +Solution.rightSideView(tree1) |
0 commit comments