对应的核心代码如下所示,同时主要理解思路就是,先判断是不是叶子节点,判断方法为叶子节点是没有子节点的,所以说这个地方,只需要判断该节点的是否有叶子节点即可。
即
!node->left && !node->right
,同时下面的求和的时候,即就是一个深度优先遍历,找到所有叶子节点且是左孩子的点,然后求和就可以了。特别注意左孩子在有孩子的节点也是有的。所以在右孩子的时候,需要特别注意!下面是c++代码
1 | bool isLeafNode(TreeNode* node) { |
对应的核心代码如下所示,同时主要理解思路就是,先判断是不是叶子节点,判断方法为叶子节点是没有子节点的,所以说这个地方,只需要判断该节点的是否有叶子节点即可。
即
!node->left && !node->right
,同时下面的求和的时候,即就是一个深度优先遍历,找到所有叶子节点且是左孩子的点,然后求和就可以了。特别注意左孩子在有孩子的节点也是有的。所以在右孩子的时候,需要特别注意!1 | bool isLeafNode(TreeNode* node) { |