无法找出下面的代码有什么问题,为什么我会得到下面的错误:
/**
* Example:
* var ti = TreeNode(5)
* var v = ti.`val`
* Definition for a binary tree node.
* class TreeNode(var `val`: Int) {
* var left: TreeNode? = null
* var right: TreeNode? = null
* }
*/
class Solution {
fun pathSum(root: TreeNode?, sum: Int): List<List<Int>> {
var result : List<MutableList<Int>> = listOf(mutableListOf())
var path : MutableList<Int> = mutableListOf()
dfs(root, sum, result, path)
return result
}
fun dfs(root: TreeNode?, sum: Int, result: List<MutableList<Int>>, path: MutableList<Int>){
if(root == null) return
path.add(sum)
dfs(root.left, sum - root.val, result, path)
dfs(root.right, sum - root.val, result, path)
if(sum == 0 &&
root.left == null &&
root.right == null) {
result.add(path)
}
path.remove(path.size() - 1)
}
}
我在运行上面的代码时遇到了很多编译时错误,Kotlin还在努力找出根本原因:
Line 24: Char 38: error: expecting property name or receiver type
dfs(root.left, sum - root.val, result, path)
^
Line 24: Char 46: error: expecting an element
dfs(root.left, sum - root.val, result, path)
1条答案
按热度按时间cs7cruho1#
瓦尔是Kotlin中的一个关键字,如果你想用它作为一个字段的名字,你需要把它 Package 成反勾号:'瓦尔'(实际上,代码之前的注解中的代码示例显示了这一点)。