二叉樹層序遍曆(bfs,Java理論知識

程序員莎莎 2021-09-20 01:46:10 阅读数:821

二叉 bfs java
 res.add(list);
}
return res;
}

[](
)二、二叉樹的最大寬度
=============================================================================
[leetcode 662 題](
)
層序遍曆每一層記錄開始坐標和結束坐標之差

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

public int widthOfBinaryTree(TreeNode root) {

 if(root==null) return 0;
Queue <TreeNode> q1=new LinkedList<>();
Queue <Integer> q2=new LinkedList<>();
q1.offer(root);
q2.offer(1);
int res=0;
int pos=0; int start=0;
while(!q1.isEmpty()){
int size=q1.size();
start=q2.peek();
for(int i=0;i<size;i++){
TreeNode node=q1.poll();
pos=q2.poll();
if(node.left!=null) {
q1.offer(node.left);
q2.offer(2*pos);
}
if(node.right!=null){
q1.offer(node.right);
q2.offer(2*pos+1);
}
}
res=Math.max(res,pos-start+1);
}
return res;
}

[](
)三、二叉樹的右視圖
============================================================================
[leetcode 199題](
)
利用層序遍曆來記錄每一層中最後一個值

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

public List<Integer> rightSideView(TreeNode root) {

 List <Integer> list=new LinkedList<>();
if(root==null) return list;
Queue <TreeNode> queue=new LinkedList<>();
queue.offer(root);
int num=0;
while(!queue.isEmpty()){
int size=queue.size();
num=0;
for(int i=0;i<size;i++){
TreeNode node=queue.poll();
if(node.left!=null) queue.offer(node.left);
if(node.right!=null) queue.offer(node.right);
num=node.val;
}
list.add(num);
}

最後

權威指南-第一本Docker書

引領完成Docker的安裝、部署、管理和擴展,讓其經曆從測試到生產的整個開發生命周期,深入了解Docker適用於什麼場景。並且這本Docker的學習權威指南介紹了其組件的基礎知識,然後用Docker構建容器和服務來完成各種任務:利用Docker為新項目建立測試環境,演示如何使用持續集成的工作流集成Docker,如何構建應用程序服務和平臺,如何使用Docker的API,如何擴展Docker。

總共包含了:簡介、安裝Docker、Docker入門、使用Docker鏡像和倉庫、在測試中使用Docker、使用Docker構建服務、使用Fig編配Docke、使用Docker API、獲得幫助和對Docker進行改進等9個章節的知識。

二叉樹層序遍曆(bfs,Java理論知識_Java

二叉樹層序遍曆(bfs,Java理論知識_程序員_02

二叉樹層序遍曆(bfs,Java理論知識_後端_03

二叉樹層序遍曆(bfs,Java理論知識_Java_04

關於阿裏內部都在强烈推薦使用的“K8S+Docker學習指南”—《深入淺出Kubernetes:理論+實戰》、《權威指南-第一本Docker書》,看完之後兩個字形容,愛了愛了!

 CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】

版权声明:本文为[程序員莎莎]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210920014610050x.html