public static void main(String args[]){
        int preorder[] = {-1,1,6,-2,11,3,2,-3,31,22,17};
        int inorder[]  = {-2,6,11,1,3,-1,31,-3,22,2,17};
        ConstructTreeFromInOrderPreOrder ctf = new ConstructTreeFromInOrderPreOrder();
        Node root = ctf.createTree(inorder, preorder);
        SinkNegativeToBottom szb = new SinkNegativeToBottom();
        szb.sinkZero(root);
        LevelOrderTraversal lot = new LevelOrderTraversal();
        TreeTraversals tt = new TreeTraversals();
        tt.inOrder(root);
        lot.levelOrder(root);
    }
http://www.careercup.com/question?id=5344154741637120
src/com/interview/tree/SinkNegativeToBottom.java