二叉树中两个节点的最近的公共父节点

二叉树中两个节点的最近的公共父节点

 

 

 

public Node findAncestor(Node root, Node n1, Node n2) { LinkedList<Node> p1 = new LinkedList<Node>(); Node t1 = n1; Node t2 = n2; p1.add(t1); while (t1.getParent() != root) { p1.add(t1.getParent()); t1 = t1.getParent(); } p1.add(root); while (t2.getParent() != null) { if (p1.contains(t2)) { break; } t2 = t2.getParent(); } return t2; }

你可能感兴趣的:(二叉树中两个节点的最近的公共父节点)