题目:在二叉树中寻找值最大的节点并返回。
样例
给出如下一棵二叉树:
1
/ \
-5 2
/ \ / \
0 3 -4 -5
返回值为 3
的节点。
解题思路:
1、将初始最大值设置为root。
2、采用层序遍历。访问二叉树是从上到下,从左往右依次访问(FIFO)。
3、每次访问一个结点,就把当前结点与原最大值结点进行比较。若当前结点的值大于原最大值结点的值,则原最大值结点更换为当前结点,否则不变。
代码实现:
/**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
public