For comparators, there are many ways to create them:
1, Implement comparable
2, Implement comparator
3, Just create a Comparator:
private static Comparator<Interval> IntervalComparator = new Comparator<Interval>() {
public int compare(Interval i1, Interval i2) {
return i1.start - i2.start;
}
};
4, Binary Tree class and BFS function
public static void traverseTree(BinTreeNode root) {
System.out.println("Tree:");
if (root == null) {
return;
}
Queue<BinTreeNode> queue = new LinkedList<>();
queue.add(root);
while(!queue.isEmpty()) {
int size = queue.size();
for (int i = 0; i < size; ++i) {
BinTreeNode node = queue.poll();
System.out.print(Integer.toString(node.value) + ' ');
if (node.left != null) {
queue.offer(node.left);
}
if (node.right != null) {
queue.offer(node.right);
}
}
System.out.println();
}
}
public static class BinTreeNode {
int value;
BinTreeNode left;
BinTreeNode right;
public BinTreeNode(int val) {
value = val;
left = null;
right = null;
}
}