一:创建节点
c
class Node(
public int idata; --节点
public int Ddata; --节点数据
public Node LeftChild; --左节点
public Node RightChild; --右节点
public void prints(
System.out.print(Data);
)
二:遍历
1. 前序遍历。
c
public void preOrder(Node node){
if(node.idata = null)
{return;}
else
{
node.prints;
beforFind(LeftChild);
beforFind(RightChild);
}
2. 中序遍历。
c
public void inOrder(Node node){
if(node.idata = null)
{return;}
else
{
beforFind(LeftChild);
node.prints;
beforFind(RightChild);
}
}
3. 后序遍历。
c
public void postOrder(Node node){
if(node.idata = null)
{return;}
else
{
beforFind(LeftChild);
beforFind(RightChild);
node.prints;
}
}
4. 层序遍历。
c
public void levelOrder(TreeNode node)
{
TreeNode cur=node;
if (cur == null)
{return;}
else
{
Queue<Treenoede> queue=new LinkedList<>();
queue.offer(cur);
while(queue ! = null)
{
system.out.print(queue.poll().val);
if(cur.left ! =null )
{
queue.offer(cur.left);
}
if(cur.right ! =null )
{
queue.offer(cur.right);
}
}
}
}