Topic:
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
1 / 2 5 /\ 3 4 6
The flattened tree should look like:
1 2 3 4 5 6
test instructions and analysis: give a tree that asks for a list of the first-order traversal of the tree, but it is still represented by a tree. First, the right child node of the left child node of the root node is found, then the right subtree of the root node is moved to the right node of the point, then the left child node of the root node is moved to the right child node of the root node, and the left subtree of the root node is reset to null, and the root node to the right child node is
Code:
/*** Definition for a binary tree node. * public class TreeNode {* int val; * TreeNode left; * TreeNode rig Ht * TreeNode (int x) {val = x;} }*/ Public classSolution { Public voidFlatten (TreeNode root) {if(root==NULL)return; if(root.left!=NULL) {TreeNode cur=Root.left; while(cur.right!=NULL) {cur=Cur.right; } cur.right=Root.right; Root.right=Root.left; Root.left=NULL; } flatten (Root.right); }}
[Leetcode] 114. Flatten Binary Tree to Linked List Java