알고리즘
릿코드 94. Binary Tree Inorder Traversal 코틀린
rkrkrr0101
2023. 12. 9. 09:39
이진트리를 순서대로 처음부터 끝까지 방문
중위탐색하라니까 왼쪽방문+자기자신+오른쪽방문순으로 재귀돌려서 리스트만들면됨
정답
class Solution {
fun inorderTraversal(root: TreeNode?): List<Int> {
if (root== null){
return listOf<Int>()
}
val resList = inorder(root!!)
println(resList)
return resList
}
fun inorder(root: TreeNode):List<Int>{
if (root.left == null && root.right==null){
return mutableListOf(root.`val`)
}
val resList= mutableListOf<Int>()
if (root.left !=null) {
resList.addAll(inorder(root.left!!))
}
resList.add(root.`val`)
if (root.right !=null) {
resList.addAll(inorder(root.right!!))
}
return resList
}
}
추가적으로 treeNode클래스는
class TreeNode(var `val`: Int) {
var left: TreeNode? = null
var right: TreeNode? = null
}
이거 같은파일내에 넣어두면 다른ide로 할때 에러안뜸