当前位置: 首页 > 后端技术 > Java

二叉树搜索父节点和所有祖先节点

时间:2023-04-01 13:20:28 Java

FYI树结构publicclassTreeNode{intval;树节点离开;树节点对;TreeNode(intx){val=x;}}遍历方法@Testpublicvoidtest(){TreeNoderoot,TreeNodep;//TODO初始化根,p;StackpParents=newStack<>();getParents(根,p,pParents);//p的父节点和所有祖先节点都存储在pParentsbingo.}publicbooleangetParents(TreeNoderoot,TreeNodep,Stackstack){if(root==null){returnfalse;}//System.out.println("root:"+root.val);如果(根==p){堆栈。推(根);//找到返回真;}stack.push(root);if(getParents(root.left,p,stack)){返回真;}if(getParents(root.right,p,stack)){返回真;}//没有找到节点,恢复站点stack.pop();返回假;}