Untitled
class Solution { public TreeNode linkedListToBinaryTree(Node head) { if (head == null) return null; TreeNode root = new TreeNode(head.data); Queue<TreeNode> q = new LinkedList<>(); q.add(root); head = head.next; while (head != null) { TreeNode parent = q.poll(); // Left child TreeNode leftChild = new TreeNode(head.data); parent.left = leftChild; q.add(leftChild); head = head.next; if (head == null) break; // Right child TreeNode rightChild = new TreeNode(head.data); parent.right = rightChild; q.add(rightChild); head = head.next; } return root; } }
Leave a Comment