You are viewing a single comment's thread. Return to all comments →
I think all the information you need is in the problem description. It's just a lot to take in.
The tree with N nodes is rooted at the node with index 1 as described in the Swapping operation section. So the root of the tree is 1.
-1 is used to represent a null node, as described in the Input Format section. For example, the -1s in the second of the N lines mean that the node with index 2 has NULL pointers for both of its children. Similarly, the -1s in the third of the N lines means that the node with index 3 also has NULL pointers for both of its children.
I don't think there's a particular reason why we swap at level 1 twice. The sample inputs are just used to illustrate an example (Sample Input/Output #00 correspond to Test Case #00 in the Explanation section).
Index 1 and the value of the root are not the same. Binary tree root can contain any value. That part of the problem declaration is ambiguous. For example:
/ \ / \
10 6 9 17
Is still a binary tree. It's not sorted, but that does not disqualify it as a binary tree.
The problem says "You are given a tree of n nodes where nodes are indexed from 1..n and it is rooted at 1. " So we can safely assume that the binary tree we will be given for this problem always has a root of 1. I dealt with this by creating a BinaryTree object with a root of 1.