二叉树查找x的祖先
来源:互联网 发布:递推算法求韩信点兵 编辑:程序博客网 时间:2024/04/25 16:24
package edu.lnu.fang.BiTree;import java.util.Iterator;import java.util.Stack;import edu.lnu.fang.BiTree.BinTreeTra.Node;public class SearchAncestor { static void printS(Stack S) { Iterator<Node> iterator = S.iterator(); while (iterator.hasNext()) { System.out.print(iterator.next().data + " "); } }/** * 寻找值为x(假设只有一个值为x的节点)的节点的所有祖先 * @param root * @param x */ static void search(Node root, int x) { Stack<Node> S = new Stack<Node>(); Node p = root; Node r = null; while (p != null || S.size() > 0) { if (p != null) { S.add(p); p = p.leftChild; } else { p = S.peek(); if (p.rightChild != null && p.rightChild != r) { p = p.rightChild; S.add(p); p = p.leftChild; } else { p = S.pop(); if(p.data==x){ printS(S); return; } //BinTreeTra.printNode(p); r = p; p = null; } } } } public static void main(String[] args) { Node root = BinTreeTra.init(); search(root,16); }}
0 0
- 二叉树查找x的祖先
- 二叉树中查找值为x的结点,打印x结点的全部祖先
- 查找二叉树祖先
- 二叉树公共祖先节点的查找
- 二叉树查找公共祖先
- 二叉树中查找两个节点的最低公共祖先
- java 二叉树遍历+查找祖先节点
- 输出二叉树中x的祖先结点,(二叉树中最多只有一个x)
- 二叉树的祖先结点,删除,插入,查找,前驱结点,后继结点等
- 二叉树——查找两个任意节点的最近祖先
- 【Leetcode】查找二叉树中任意结点的最近公共祖先(LCA问题)
- 查找二叉树某两个节点最近的共同祖先及改进方法
- [2016/12/2]求二叉查找树结点的最低共有祖先(LCA)
- 数据结构——查找二叉树已知节点的祖先节点
- 设计算法查找二叉树的两个结点最近公共祖先(LCA)
- 习题6.15查找二叉树结点公共祖先
- 二叉查找树(6) - 最近公共祖先LCA
- 二叉搜索树建树并且查找最低公共祖先
- Spring Note--AOP
- Linux基础教程——LVM逻辑卷基本操作流程(附图)
- pip安装时ReadTimeoutError解决办法
- 程序猿(媛)实用颜色表 [颜色图示,英文代码,形象颜色,HEX格式,RGB格式]
- H
- 二叉树查找x的祖先
- 【HDU1398】Square Coins 母函数
- 案例2_健康栏目的实现分析
- 【Linux基础】Linux/Windows下安装python、Numpy、Matplotlib
- 【集合框架】3. Map容器
- Android Framework学习——如何加入并编译自定义的模块
- java多线程-04-线程池
- 019 Remove Nth Node From End of List
- 每日一练--抽奖