leetcode Hard题解 从先序遍历还原二叉树

不知道这题为什么算Hard,只是看起来好简单,写了十多分钟,一次通过,打败双100%。



var recoverFromPreorder = function (S) {

    let regexp = new RegExp(`(-*)(\\d+)`, 'g')

    let result = regexp.exec(S);

    let nodes = [];

    while (result) {

        let level = result[1].length;

        let value = Number(result[2] )

        if(!nodes [level] ){

            nodes [level] = []

        }

        //生成自己

        let node = new TreeNode(value);

        nodes [level].push( node );

         //挂到父亲下相应的位置

        if(level > 0){

            let parent = nodes [level-1][nodes [level-1].length-1];


            if(parent.left == null){

                parent.left = node;

            }else if (parent.right == null){

                parent.right = node;

            }else{

                console.log("error")

            }

        }

        result = regexp.exec(S)

    }

    if(n.length>0){

        return nodes [0][0];

    }

};

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,174评论 0 2
  • 贪心算法 贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上...
    fredal阅读 13,056评论 3 52
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,212评论 0 13
  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 6,041评论 0 2
  • 先生说我,说话语气太难听。好像是的,说话的语调确实让人听起来不舒服。类似尖酸刻薄,是什么时候变成这样子的呢...
    静心行之阅读 1,297评论 0 1

友情链接更多精彩内容