二叉樹的層次遍歷,是與廣度優先搜尋的特點相對應的
原來的廣度優先搜尋**如下:
var bfs=function(root)
if(temp.right)}}
return visited
}
在這個基礎上,我們需要使得:
在每一輪迴圈開始之前,queue中的節點都是處於同一層級的
這就需要我們在上一次迴圈中,將queue中所有節點的子節點都放入queue中
也就是說,需要寫乙個巢狀的迴圈
利用內層迴圈來遍歷queue:
先拿出隊首元素(出隊)
再將其子節點放入queue
內層迴圈結束後,將這一輪出隊的元素,推入最終的結果陣列中
/**
* definition for a binary tree node.
* function treenode(val)
*//**
* @param root
* @return
*/var levelorder = function(root)
if(temp.right)
}visited.push(currentlevel)}}
return visited
};
LeetCode 102 二叉樹的遍歷
給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 返回其層次遍歷結果 如下 definition for a binary tree node.public class treenode public class solution list res new ...
LeetCode 102 二叉樹的層次遍歷
題目鏈結 題目描述 給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其層次遍歷結果 3 9,20 15,7 解決方法 廣度優先 層次 遍歷,使用佇列實現 具體思路 在訪問了乙個節點之後...
LeetCode 102 二叉樹的層次遍歷
給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其層次遍歷結果 3 9,20 15,7 此題需要將各個層的節點分別儲存到不同的陣列中。所以在while迴圈中,加了乙個for迴圈,迴圈次數...