首页 > 学院 > 开发设计 > 正文

* Leetcode 236. Lowest Common Ancestor of a Binary Tree 精巧的递归写法(搜狐一面)

2019-11-08 00:48:09
字体:
来源:转载
供稿:网友

https://leetcode.com/PRoblems/lowest-common-ancestor-of-a-binary-tree/?tab=Description

搜狐推荐系统实习生一面的时候面到了

当时写的挺长的...然后今天搜了下,发现可以好短...

/** * 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:    TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {        if (root == NULL || root == p || root == q) return root;        TreeNode* left = lowestCommonAncestor(root->left, p, q);        TreeNode* right = lowestCommonAncestor(root->right, p, q);        if (left && right) {            return root;        } else {            return left == NULL ? right:left;        }    }};


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表