“Golang de travessia de pré -encomenda” Respostas de código

Golang de travessia de pré -encomenda

type TreeNode struct {
  Val int
  Left *TreeNode
  Right *TreeNode
}

func preOrderTraverse(root *TreeNode) int[] {
  list := []int {}
  if root == nil {
    return list
  }
  
  stack := []*TreeNode { root }
  for len(stack) > 0 {
    root = stack[len(stack) - 1]
    stack = stack[0:len(stack) - 1]
    list = append(list, root.Val)

    if root.Left != nil {
      stack = append(stack, root.Left)
    }
    
    if root.Right != nil {
      stack = append(stack, root.Right)
    }
  }
  
  return list
}
Ibrahim Albarghouthi

InOrder Traversal Golang

type TreeNode struct {
  Val int
  Left *TreeNode
  Right *TreeNode
}

func inOrderTraverse(root *TreeNode) int[] {
  list := []int {}
  if root == nil {
    return list
  }
  
  stack := []*TreeNode { }
  for root != nil || len(stack) > 0 {
    
    for root != nil {
      stack = append(stack, root)
      root = root.Left
    }
    
    root = stack[len(stack) - 1]
    stack = stack[0:len(stack) - 1]
    list = append(list, root.Val)
    root = root.Right
  }
  
  return list
}

Ibrahim Albarghouthi

Respostas semelhantes a “Golang de travessia de pré -encomenda”

Perguntas semelhantes a “Golang de travessia de pré -encomenda”

Mais respostas relacionadas para “Golang de travessia de pré -encomenda” em Go

Procure respostas de código populares por idioma

Procurar outros idiomas de código