波大大12138 发表于 2020-8-20 16:40:11

答案有一行没看懂

https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
题目和答案都如图所示,在答案的第16行没有搞懂append (i)和append(i.val)的区别,就好比此时节点为3,那么append(i=3)和append(i.val)有什么区别呢?不知道什么情况下用节点什么情况下用节点的值,怎么区分?

小甲鱼 发表于 2020-8-20 19:34:48

从语义上来理解,应该用 i.val 更合适,但直接 append(3) 也无可厚非,只是说 append(i.val) 语义化更强,因为配合后面的 append(i.left) 和 append(i.right),整体代码读起来更 “顺畅”。


波大大12138 发表于 2020-8-20 19:42:25

小甲鱼 发表于 2020-8-20 19:34
从语义上来理解,应该用 i.val 更合适,但直接 append(3) 也无可厚非,只是说 append(i.val) 语义化更强, ...

但是在这里我把i.val改写成i的话会报错
https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
但是这个时候添加的i确实是最终答案需要的值没所以不知道到底有什么区别
页: [1]
查看完整版本: 答案有一行没看懂