flattenBinaryTreeToLinkedList<T> function

void flattenBinaryTreeToLinkedList<T>(
  1. BinaryTreeNode<T>? root
)

Implementation

void flattenBinaryTreeToLinkedList<T>(BinaryTreeNode<T>? root) {
  BinaryTreeNode<T>? curr = root;
  while (curr != null) {
    if (curr.left != null) {
      var prev = curr.left;
      while (prev!.right != null) {
        prev = prev.right;
      }
      prev.right = curr.right;
      curr.right = curr.left;
      curr.left = null;
    }
    curr = curr.right;
  }
}