一、定义
二叉树可以通过三种方式遍历树的节点,分别是前序、中序和后序。
前序:根节点->左节点->右节点
中序:左节点->根节点->右节点
后序:左节点->右节点->根节点
总结,根据根节点的输出位置理解前序、中序和后续。
二、代码
public Hero preSearch(int no) { if(this.no == no) { return this; } Hero hero = null;//必须写在该处,防止值被覆盖 if(this.left != null) { hero = this.left.preSearch(no); } if(hero != null) {//左边找到后,直接返回。 return hero; } if(this.right != null) { hero = this.right.preSearch(no); } return hero; } public Hero infixSearch(int no) { Hero hero = null; if(this.left != null) { hero = this.left.infixSearch(no); } if (hero != null) { return hero; } if(this.no == no) { return this; } if(this.right != null) { hero = this.right.infixSearch(no); } return hero; } public Hero postSearch(int no) { Hero hero = null; if(this.left != null) { hero = this.left.postSearch(no); } if(hero != null) { return hero; } if(this.right != null) { hero = this.right.postSearch(no); } System.out.println("后序==>"+this); if(this.no == no ) { return this; } return hero; } |