简单题,利用树的层序遍历寻找合适的值。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int findBottomLeftValue(TreeNode* root) { if(root==NULL) return 0; else { queue<TreeNode*> treeValue; int lastPopNum; treeValue.push(root); if(root->right!=NULL) treeValue.push(root->right); if(root->left!=NULL) treeValue.push(root->left); lastPopNum=treeValue.front()->val; treeValue.pop(); while(!treeValue.empty()) { if(treeValue.front()->right!=NULL) treeValue.push(treeValue.front()->right); if(treeValue.front()->left!=NULL) treeValue.push(treeValue.front()->left); lastPopNum=treeValue.front()->val; treeValue.pop(); } return lastPopNum; } }};新闻热点
疑难解答