leetcode-tree-94-Binary Tree Inorder Traversal

94. Binary Tree Inorder Traversal

Binary Tree Inorder Traversal
中序遍历二叉树

注意二叉树并不是左节点小于父节点,右节点大于父节点,二叉搜索树才符合(BST)

  • Example:

Input: [1,null,2,3]
   1
    \
     2
    /
   3

Output: [1,3,2]

  • 解法一,递归
// recursive,中序遍历
function inorderTraversal(root,arr = []){
    if(root){
        inorderTraversal(root.left)
        arr.push(root.val)
        inorderTraversal(root.right)

    }
    return arr

}
  • 解法二,迭代
function inorderTraversal(root){
    const arr = []
    const stack = []
    let node = root;

    while(node || stack.lenght){
        while(node){
            stack.push(node.left)
            node = node.left
        }

        node = stack.pop() //出栈
        arr.push(node)
        node = node.right
    }
    return arr
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容