korobushk

minDepth bfs

May 16th, 2021
551
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 minDepth(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.                     if (presentNode.left == null && presentNode.right == null) {
  38.                         level++;
  39.                         return level;
  40.                     }
  41.  
  42.                     size--;
  43.                 }
  44.                 level++;
  45.  
  46.             }
  47.             return level;
  48.         }
  49.     }
  50.  
  51.  
  52.  
RAW Paste Data