iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
自我挑戰組

30天刷題大挑戰系列 第 8

第 07 天 不斷嘗試直到成功( leetcode 106 )

  • 分享至 

  • xImage
  •  

JavaScript 解答

var buildTree = function(inorder, postorder) {
  if (!inorder.length || !postorder.length) {
    return null
  }
  let rootVal = postorder[postorder.length - 1]
  let root = new TreeNode(rootVal)
  let k = inorder.indexOf(rootVal)
  root.left = buildTree(inorder.slice(0, k), postorder.slice(0, k))
  root.right = buildTree(inorder.slice(k+1), postorder.slice(k, postorder.length - 1))
  return root
};

Ruby 解答

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

上一篇
第 06 天 有甚麼事先練再說( leetcode 105 )
下一篇
第 08 天 再接再厲堅持不懈( leetcode 300 347 )
系列文
30天刷題大挑戰16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言