2->4", "1->...">
美文网首页
js 二叉树的相关算法

js 二叉树的相关算法

作者: 牛奶大泡芙 | 来源:发表于2018-11-15 09:00 被阅读0次

1、求二叉树所有的到达末端节点路径
这是二叉树结构。我们用递归方法实现。


二叉树.jpeg
var n4 = {value: 4, left: null, right: null};
var n5 = {value: 5, left: null, right: null};
var n6 = {value: 6, left: null, right: null};
var n2 = {value: 2, left: n4, right: n5};
var n3 = {value: 3, left: n6, right: null};
var n1 = {value: 1, left: n2, right: n3};
var binaryTreePaths = function(root) {
console.log(root);
    if (root === null) return [];
    if (root.left === null && root.right === null) {
      return [root.value.toString()];
    }
    var left = binaryTreePaths(root.left),
        right = binaryTreePaths(root.right);
    return left.concat(right).map(x => root.value + '->' + x);
  };
binaryTreePaths(n1);

结果是: ["1->2->4", "1->2->5", "1->3->6"]
2、二叉树镜像反转


二叉树反转.jpeg
var invertTree = function(root) {   
   if(root==null){return null;}
    //获取左子树
    var d1=invertTree(root.left);
    //获取右子树
    var d2=invertTree(root.right);
    //调整左右
    root.left=d2;
    root.right=d1;
    return root;
};
invertTree(n1);

相关文章

  • js 二叉树的相关算法

    1、求二叉树所有的到达末端节点路径这是二叉树结构。我们用递归方法实现。 结果是: ["1->2->4", "1->...

  • 二叉树遍历

    前言 在学习或工作中,总会遇到和算法相关的问题。而二叉树在算法中是绕不过的一个场景。 这里介绍下二叉树的相关遍历方...

  • js相关算法

    一、排序算法 1、冒泡排序 2、快速排序 3、二路归并 二、字符串操作 1、判断回文字符串 2、翻转字符串 思路一...

  • OC二叉树相关操作

    二叉树-你必须要懂!(二叉树相关算法实现-iOS) http://www.cnblogs.com/manji/p/...

  • 关于函数递归和迭代的转化, 及尾递归相关知识的接触和思考

    javascript实现数据结构: 树和二叉树,二叉树的遍历和基本操作 js 二叉树 【数据结构与算法】深入浅出递...

  • 算法基础之二叉树

    本文主要包括树相关的算法,二叉树结点基本结构如下 本文还会继续更新。 二叉树的深度 二叉树的前序遍历 二叉树的中序...

  • JS中可能用得到的全部的排序算法

    本篇有7k+字, 系统梳理了js中排序算法相关的知识, 希望您能喜欢. 原文:JS中可能用得到的全部的排序算法 导...

  • 每日Leetcode—算法(10)

    100.相同的树 算法: 101.对称二叉树 算法: 104.二叉树的最大深度 算法: 107.二叉树的层次遍历 ...

  • 每日Leetcode—算法(11)

    110.平衡二叉树 算法: 111.二叉树的最小树深 算法: 112.路径总和 算法:

  • 一篇文章搞定面试中的二叉树题目(java实现)

    最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的。先上二叉树的数据结构: 二叉树的题目普遍可以...

网友评论

      本文标题:js 二叉树的相关算法

      本文链接:https://www.haomeiwen.com/subject/lfeefqtx.html