알고리즘
릿코드 129. Sum Root to Leaf Numbers 코틀린
rkrkrr0101
2024. 4. 15. 09:46
그냥 재귀로 노드탐색하면서 val텍스트로 저장하다가 리프면 값으로 변환해서 리턴
리프아니면 레프트나 라이트에서 값받아오고
정답
class Solution {
fun sumNumbers(root: TreeNode?): Int {
return leftLeafSearch(root,"")
}
}
fun leftLeafSearch(root1: TreeNode?, reqStr:String ):Int{
if (root1==null){
throw IllegalArgumentException()
}
var valueString=reqStr+root1.`val`.toString()
if (root1.left==null && root1.right==null){
return valueString.toInt()
}
var res=0
if(root1.left!=null){
res+=leftLeafSearch(root1.left,valueString)
}
if(root1.right!=null){
res+=leftLeafSearch(root1.right,valueString)
}
return res
}
노드클래스
class TreeNode(var `val`: Int) {
var left: TreeNode? = null
var right: TreeNode? = null
}