Given a binary tree
Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set to NULL.
Initially, all next pointers are set to NULL.
Input: root = [1,2,3,4,5,null,7]
Output: [1,#,2,3,#,4,5,7,#]
Explanation: Given the above binary tree (Figure A), your function should populate each next pointer to point to its next right node, just like in Figure B. The serialized output is in level order as connected by the next pointers, with '#' signifying the end of each level.
Input: root = []
Output: []
[0, 6000].-100 <= Node.val <= 100The basic idea is to use a queue to perform a level order traversal of the tree. For each node at a particular level, connect it to its next right node using the queue. This method ensures that we connect all nodes at the same level before moving to the next level.
next to the next node in the queue.To optimize space, we can avoid using a queue and instead leverage the next pointers established during the traversal. Instead of processing nodes level by level, the idea is to build the next pointers for the next level while traversing the current level.
dummy.next once the current level is completely processed.