溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

求二叉樹的深度和寬度

發布時間:2020-07-21 06:18:17 來源:網絡 閱讀:880 作者:小止1995 欄目:編程語言

深度:

int length(BiTree t)
{  
        int depth2 = 0;  
        int depth3 = 0;  
          
        if(t == null ) return 0;  
        //右子樹的深度  
        depth2 = length(t.right);  
        //左子樹的深度  
        depth3 = length(t.left);  
          
        if(depth2>depth3)  
            return depth2+1;  
        else  
            return depth3+1;  
}

寬度:

int getMaxWidth(TreeNode root) 
{ 
    if (root == null)      
        return 0;         
    Queue<TreeNode> queue = new ArrayDeque<TreeNode>(); 
    int maxWitdth = 1; // 最大寬度        
    queue.add(root); // 入隊 
    while (true) 
   {
       int len = queue.size(); // 當前層的節點個數
       if (len == 0)                
           break;            
       while (len > 0) 
       {
           // 如果當前層,還有節點                
           TreeNode t = queue.pop();                 
           len--;                 
           if (t.left != null)                     
               queue.push(t.left); // 下一層節點入隊                
           if (t.right != null)                     
               queue.add(t.right);// 下一層節點入隊             
       }             
       maxWitdth = Math.max(maxWitdth, queue.size());
    }
    return maxWitdth;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女