今日花了1个多小时还没做出这道题。
import java.util.*;
public class Solution {
public int lowestCommonAncestor (TreeNode root, int p, int q) {
int result=0;
ArrayList<Integer> list1=list(root,p);
ArrayList<Integer> list2=list(root,q);
for(int i=0;i<Math.min(list1.size(),list2.size());i++){
int x=list1.get(i);
int y=list2.get(i);
if(x==y){result=x;}
}
return result;
}
public ArrayList<Integer> list(TreeNode root, int n){
ArrayList<Integer> list = new ArrayList<>();
while(root.val!=n){
list.add(root.val);
if(n>root.val){
root=root.right;
}else{
root=root.left;
}
}
list.add(root.val);
return list;
}
}