You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tech-interview-handbook/contents/algorithms/tree.md

2.2 KiB

id title
tree Tree
  • Find the height of a tree.
  • Find the longest path from the root to leaf in a tree.
  • Find the deepest left leaf of a tree.
  • Print all paths of a binary tree.
  • Second largest element of a BST.
  • Given a binary tree and two nodes, how to find the common ancestor of the two nodes?
  • Find the lowest common ancestor of two nodes in a binary search tree.
  • Print the nodes in an n-ary tree level by level, one printed line per level.
  • Given a directory of files and folders (and relevant functions), how would you parse through it to find equivalent files?
  • Write a basic file system and implement the commands ls, pwd, mkdir, create, rm, cd, cat, mv.
  • Compute the intersection of two binary search trees.
  • Given a binary tree, output all the node to leaf paths of it.
  • Given a string of characters without spaces, is there a way to break the string into valid words without leftover characters?
  • Print a binary tree level by level.
  • Determine if a binary tree is "complete" (i.e, if all leaf nodes were either at the maximum depth or max depth-1, and were 'pressed' along the left side of the tree).
  • Find the longest path in a binary tree. The path may start and end at any node.
  • Determine if a binary tree is a BST.
  • Given a binary tree, serialize it into a string. Then deserialize it.
  • Print a binary tree by column.
  • Given a node, find the next element in a BST.
  • Find the shortest subtree that consist of all the deepest nodes. The tree is not binary.
  • Print out the sum of each row in a binary tree.
  • Pretty print a JSON object.
  • Convert a binary tree to a doubly circular linked list.
  • Find the second largest number in a binary tree.
  • Given a tree, find the longest branch.
  • Convert a tree to a linked list.
  • Given two trees, write code to find out if tree A is a subtree of tree B.
  • Deepest node in a tree.