iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
自我挑戰組

30天刷題大挑戰系列 第 7

第 06 天 有甚麼事先練再說( leetcode 105 )

JavaScript 解答

var buildTree = function(preorder, inorder) {
    p = i = 0
    build = function(stop) {
        if (inorder[i] != stop) {
            var root = new TreeNode(preorder[p++])
            root.left = build(root.val)
            i++
            root.right = build(stop)
            return root
        }
        return null
    }
    return build()
};

Ruby 解答

def build_tree(preorder, inorder)
    if preorder.length==0
        return nil
    end
    root=TreeNode.new(preorder[0])
    mid=0
    while inorder[mid]!=preorder[0]
        mid+=1
    end
    root.left=build_tree(preorder[1...mid+1], inorder[0...mid])
    root.right=build_tree(preorder[mid+1...preorder.length], inorder[mid+1...inorder.length])
    return root
end

上一篇
第 05 天 多加嘗試突破自我( leetcode 100 )
下一篇
第 07 天 不斷嘗試直到成功( leetcode 106 )
系列文
30天刷題大挑戰16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言