题目

递归

var lowestCommonAncestor = function(root, p, q) {
    let ans;
    function dfs(root,p,q){
      if(!root)return false;
      const left = dfs(root.left,p,q);
      const right = dfs(root.right,p,q);
      if((left && right)||((root.val===p.val||root.val===q.val))&&(left || right)){
        ans = root;
      }
      return left || right || (root.val === p.val || root.val === q.val);
    }
    dfs(root,p,q);
    return ans;
};