zoukankan      html  css  js  c++  java
  • C#获取二叉树深度及分层遍历二叉树

    尝试了一下用C#写了一下二叉树的相关算法:

    代码
            #region 获取二叉树深度
            
    static int z, d = 0;    //z用于记录遍历到某节点时的深度,d用于记录最大深度
            static int GetTreeDep(TreeNode node)
            {
                z
    ++;
                
    if (d < z)
                    d 
    = z;
                
    if (node.leftNode != null)
                {
                    GetTreeDep(node.leftNode);
                    z
    --;
                }
                
    if (node.rightNode != null)
                {
                    GetTreeDep(node.rightNode);
                    z
    --;
                }
                
    return d;
            }
            
    #endregion


            
    #region 分层遍历二叉树
             
    static ArrayList al = new ArrayList();
            
    static ArrayList RecursiveTreeByLevel(TreeNode node)
            {
                k
    ++;
                
    if (al.Count < k)
                {
                    al.Add(node.nodeName);
                }
                
    else
                {
                    al[k 
    - 1+= node.nodeName;
                }

                
    if (node.leftNode != null)
                {
                    RecursiveTreeByLevel(node.leftNode);
                    k
    --;
                }
                
    if (node.rightNode != null)
                {
                    RecursiveTreeByLevel(node.rightNode);
                    k
    --;
                }
                
    return al;
            }
            
    #endregion
  • 相关阅读:
    K8s 使用 nfs-client-provisioner
    MySQL IF CASE 例子
    Nginx 限速
    Python 元组操作
    Python if, while,for,continue,break,三目运算符
    Centos7 安装 pyenv
    MySQL 查看大事务
    Tomcat 修改日志路径及日志分割
    游戏攻略 美少女万华镜5
    自建远程桌面过程 vnc + frp
  • 原文地址:https://www.cnblogs.com/jiajinyi/p/1656525.html
Copyright © 2011-2022 走看看