您的位置:首页 > 其它

求一个二叉树的镜像 递归和非递归思想

2018-03-13 10:59 232 查看
public  void  Mirror(BitNode  root)
{
if(root==null)
return;;
else
{
BitNode  temp=root.lchild;
root.lchild=root.rchild;
root.rchild=temp;
Mirror(root.lchild);
Mirror(root.rchild);
}
}

public  void  Mirror1(BitNode root){
if(root==null)
{
return;;
}
LinkedList<BitNode> stack =new LinkedList<BitNode>();
BitNode current=null;
BitNode temp=null;
stack.push(root);
while (!stack.isEmpty()){
current=stack.pop();
if (current.lchild!=null||current.rchild!=null)
{
temp=current.lchild;
current.lchild=current.rchild;
current.rchild=temp;
}
if(current.lchild!=null)
stack.push(current.lchild);
if (current.rchild!=null)
stack.push(current.rchild);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐