本文主要是介绍算法| ss 二叉树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
- 二叉树的层序遍历
102. 二叉树的层序遍历
/*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val = (val===undefined ? 0 : val)* this.left = (left===undefined ? null : left)* this.right = (right===undefined ? null : right)* }*/
/*** @param {TreeNode} root* @return {number[][]}*/
// 思路
// 使用queue的方式遍历树
// root返回的边界判断
// 缓存length, 不然结果不对;var levelOrder = function (root) {const queue = [];queue.push(root);let res = [];// root返回的边界判断if (root === null) {return res;}while (queue.length) {let arr = [];// 缓存length,不然结果不对let length = queue.length;for (let i = 0; i < length; i++) {let cur = queue.shift();arr.push(cur.val);if (cur.left) queue.push(cur.left);if (cur.right) queue.push(cur.right);}res.push(arr);}console.log(res);return res;
};// 输入:root = [3,9,20,null,null,15,7]
// 输出:[[3],[9,20],[15,7]]
这篇关于算法| ss 二叉树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!