1. 程式人生 > >JavaScript刷LeetCode -- 257. Binary Tree Paths

JavaScript刷LeetCode -- 257. Binary Tree Paths

一、題目

  Given a binary tree, return all root-to-leaf paths.

  Note: A leaf is a node with no children.

  Example:

  Input:

    1
  /   \
 2     3
  \
   5

  Output: ["1->2->5", "1->3"]

  Explanation: All root-to-leaf paths are: 1->2->5, 1->3

二、題目大意

  找出所有根節點到葉子節點的路徑。

三、解題思路

  遞迴遍歷二叉樹。

四、程式碼實現

const binaryTreePaths = root => {
  const ans = []

  if (!root) {
    return ans
  }

  help(root, String(root.val))

  return ans
  function help (root, str) {
    if (!root.left && !root.right) {
      ans.push(str)
      return
    }
    if (root.left) {
      help(root.left, str + '->' + root.left.val)
    }
    if (root.right) {
      help(root.right, str + '->' + root.right.val)
    }
  }
}

  如果本文對您有幫助,歡迎關注微信公眾號,為您推送更多內容,ε=ε=ε=┏(゜ロ゜;)┛。