将二叉树按照树结构输出

将二叉树按照树结构输出

题目描述:

将任意一个二叉树按照树结构输出,根节点直接输出值,子节点随着层数的增加,每增加一层子节点值前面增加“–”,当不存在左右节点时输出null。

题目解析:

我们一定要明确无论二叉树的输出结果是什么形式,它都是在四种遍历的基础上进行的。若题目无额外要求,我们首先考虑前序遍历输出,因前序输出更符合人的正常思维。因此该题我们是在前序遍历的基础上对二叉树输出加以改进。

代码实现:
//BinTree接口
package bin_tree;

/**
 * 二叉树的通用接口
 * @param <E>
 */
public interface BinTree<E> {
   
    void add(E e);
    int size();
}

//BinSearchNewTree实现类
package bin_tree.bin_search_tree;

import bin_tree.BinTree;

import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;

public class BinSearchNewTree<E extends Comparable> implements BinTree<E> {
   
    class Node{
   
        Object data;
        Node left;
        Node right;
        public Node(Object data) {
   
            this.data = data;
        }
    }
    private Node root;
    private int size;

    //向二叉树中添加元素
    @Override
    public void 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值