zoukankan      html  css  js  c++  java
  • 7 二叉树的操作 四种遍历

     1 package com.wwj.cn;
     2 
     3 public interface TreeInterf {
     4     void PreOrderTraverse(TreeNode treeNode);// 前序遍历 递归
     5 
     6     void InOrderTraverse(TreeNode treeNode);// 中序遍历 递归
     7 
     8     void PostOrderTraverse(TreeNode treeNode);// 后序遍历 递归
     9 
    10     void LevelIterator(TreeNode treeNode);// 层序遍历
    11 
    12 }
    13 
    14 
    15 
    16 
    17 package com.wwj.cn;
    18 
    19 import java.util.LinkedList;
    20 
    21 public class TreeOperation implements TreeInterf {
    22 
    23     @Override
    24     public void PreOrderTraverse(TreeNode treeNode) {
    25         // TODO Auto-generated method stub
    26         if (treeNode == null) {
    27             return;
    28         }
    29         System.out.println(treeNode.val);
    30         PreOrderTraverse(treeNode.leftchild);
    31         PreOrderTraverse(treeNode.rightchild);
    32     }
    33 
    34     @Override
    35     public void InOrderTraverse(TreeNode treeNode) {
    36         if (treeNode == null) {
    37             return;
    38         }
    39         InOrderTraverse(treeNode.leftchild);
    40         System.out.println(treeNode.val);
    41         InOrderTraverse(treeNode.rightchild);
    42 
    43     }
    44 
    45     @Override
    46     public void PostOrderTraverse(TreeNode treeNode) {
    47         if (treeNode == null) {
    48             return;
    49         }
    50         PostOrderTraverse(treeNode.leftchild);
    51 
    52         PostOrderTraverse(treeNode.rightchild);
    53 
    54         System.out.println(treeNode.val);
    55 
    56     }
    57 
    58     @Override
    59     public void LevelIterator(TreeNode treeNode) {// 利用队列
    60         if (treeNode == null) {
    61             return;
    62         }
    63         LinkedList<TreeNode> queue = new LinkedList<>();
    64         TreeNode currentNode = null;
    65         queue.offer(treeNode);
    66         while (!queue.isEmpty()) {
    67             currentNode = queue.poll();
    68             System.out.println(currentNode.val);
    69 
    70             if (currentNode.leftchild != null) {
    71                 queue.offer(currentNode.leftchild);
    72             }
    73 
    74             if (currentNode.rightchild != null) {
    75                 queue.offer(currentNode.rightchild);
    76             }
    77 
    78         }
    79 
    80     }
    81 
    82 }
  • 相关阅读:
    关于雷达(Radar)信道
    关于High CPU及基本排查
    UCS内存问题排查
    ASA-ACL类型
    思科室外AP无法注册到WLC
    WLC-Right to Use Licensing
    无线连接网络-FAST SSID Change
    ASA升级
    ASA密码恢复流程
    Mobility Express部署外部镜像服务器
  • 原文地址:https://www.cnblogs.com/wwjldm/p/6909547.html
Copyright © 2011-2022 走看看