题解 | 二叉树的后序遍历

/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param root TreeNode类
 * @return int整型一维数组
 */
function postorderTraversal(root) {
    const result = [];

    // 递归函数
    function traverse(node) {
        if (!node) return; // 如果节点为空,直接返回
        traverse(node.left); // 递归遍历左子树
        traverse(node.right); // 递归遍历右子树
        result.push(node.val); // 访问根节点
    }

    traverse(root); // 从根节点开始遍历
    return result;
}
module.exports = {
    postorderTraversal: postorderTraversal,
};

全部评论

相关推荐

2024-12-30 10:54
大连理工大学 营销
龙吟风歌:不喜欢就立马换一份,不过公关类的和运营类的都比较杂......还是想清楚
点赞 评论 收藏
分享
要优化Webpack构建的应用程序性能,可以采取以下措施:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=9d41438f19104dca802ef21b5942c139使用生产模式(Production Mode):将Webpack的模式设置为production,这将启用优化选项,例如代码压缩和剔除未使用的代码。优化Webpack配置:检查并优化Webpack配置,包括使用合适的entry和output配置、配置正确的mode、使用最小化的devtool选项等。代码分割:使用Webpack的代码分割功能将代码分割成更小的块,以便在需要时按需加载,而不是一次性加载整个应用程序。压缩代码:使用Webpack的插件(如UglifyJsPlugin)来压缩和混淆JavaScript代码,以减小文件大小并提高加载速度。优化加载时间:使用Webpack的splitChunks选项来拆分和合并公共模块,以避免重复加载,同时使用Webpack的preload和prefetch功能来预加载和推迟加载资源。懒加载:使用Webpack的动态导入(Dynamic Import)或类似的懒加载方式,以延迟加载不必要的代码,只在需要时再加载。缓存:使用Webpack的文件哈希(File Hash)来生成唯一的文件名,以便在文件内容发生变化时进行缓存失效。减少依赖:精简项目的依赖,只引入必要的模块和库,避免加载不必要的资源和代码。并行构建:使用Webpack的多线程(Thread-loader)、并行运行(parallel-webpack)等工具,以加快构建速度。优化图片:使用Webpack的图片压缩插件(如image-webpack-loader)来优化图片文件大小,以减小资源加载和传输的时间。通过以上措施,可以显著提高Webpack构建的应用程序性能,减少加载时间和资源消耗。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务