korobushk

maxDepth bfs (tree)

May 16th, 2021
558
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Definition for a binary tree node.
  3.  * public class TreeNode {
  4.  *     int val;
  5.  *     TreeNode left;
  6.  *     TreeNode right;
  7.  *     TreeNode() {}
  8.  *     TreeNode(int val) { this.val = val; }
  9.  *     TreeNode(int val, TreeNode left, TreeNode right) {
  10.  *         this.val = val;
  11.  *         this.left = left;
  12.  *         this.right = right;
  13.  *     }
  14.  * }
  15.  */
  16. class Solution {
  17.     public int maxDepth(TreeNode root) {
  18.        
  19.         Queue<TreeNode> queue = new LinkedList<>();
  20.             queue.add(root);
  21.             int level = 0;
  22.             if(root == null){
  23.                     return 0;
  24.             }
  25.  
  26.             while (!queue.isEmpty()) {
  27.                 int size = queue.size();
  28.                 while (size > 0) {
  29.                     TreeNode presentNode = queue.remove();
  30.  
  31.                     if (presentNode.left != null) {
  32.                         queue.add(presentNode.left);
  33.                     }
  34.                     if (presentNode.right != null) {
  35.                         queue.add(presentNode.right);
  36.                     }
  37.                  
  38.  
  39.                     size--;
  40.                 }
  41.                 level++;
  42.  
  43.             }
  44.             return level;
  45.         }
  46.     }
  47.  
  48.  
RAW Paste Data