码迷,mamicode.com
首页 > 其他好文 > 详细

BFS广度遍历代码模板

时间:2020-07-13 18:26:06      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:tree   eve   node   int   result   div   ==   代码   res   

BFS广度遍历代码模板

/** 广度遍历代码模板 */
public class TestBFS {

  public List<List<Integer>> bsf(TreeNode root) {
      // 如果节点为空
      if (root == null) {
          return null;
      }

      List<List<Integer>> result = new ArrayList<>();

      Queue<TreeNode> queue = new LinkedList<>();
      queue.add(root);

      while (!queue.isEmpty()) {
          int size = queue.size();
          List<Integer> level = new ArrayList<>();

          for (int i = 0; i < size; i++) {

              TreeNode curNode = queue.poll();
              if (curNode == null) {
                  continue;
              }
              level.add(curNode.val);
              queue.add(curNode.left);
              queue.add(curNode.right);
          }

          if (!level.isEmpty()) {
              result.add(level);
          }

      }

      return result;
  }
}

 

BFS广度遍历代码模板

标签:tree   eve   node   int   result   div   ==   代码   res   

原文地址:https://www.cnblogs.com/gaopengpy/p/13294644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!