本文主要是介绍找树左下角的值-力扣,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本题个人认为不能叫做 找树左下角的值,左下角再怎么说也应当在树的左子树上,本题要求的节点是树最底层最左边的值。
首先想到的解法是对二叉树进行层序遍历,并记录本层第一个节点的值,当层序遍历结束时,此时记录的值即为树最底层最左边的值。
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int findBottomLeftValue(TreeNode* root) {int result = 0;queue<TreeNode*> que;if(root != nullptr){que.push(root);}while(!que.empty()){TreeNode* cur = que.front();result = cur->val;int size = que.size();for(int i = 0; i < size; i++){TreeNode * cur = que.front();que.pop();if(cur->left){que.push(cur->left);}if(cur->right){que.push(cur->right);}} }return result; }
};
这篇关于找树左下角的值-力扣的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!