Java bit representation of (target + 1) solution with explanation
if the root.val is 1 instead of 0, then the values of tree node are:\n\n\t\t\t\t\t\t\t\t\t1\n\t\t\t\t\t 2                           3\n\t\t   4                5
if the root.val is 1 instead of 0, then the values of tree node are:\n```\n\t\t\t\t\t\t\t\t\t1\n\t\t\t\t\t 2                           3\n\t\t   4                5           6               7\n      8 \t\t9       10     11   12     13       14     15\n  ....           .....              ....            ....         ...        ...\n  ```\n\nThe bits starting from index 1(ignore the most significant bit) of binary representation of a val decide the path to reach it:\n0 -> go to left\n1 -> go the right;\n\nFor example:  \n2  = 10 => ignore the most significant bit, the representation is "0" => 2 is the left child of root.\n4 = 100 => ignore the most significant bit, the representation is "00" => go 2 lefts;\n11 =1011 => ignore the most significant bit, the represenation is "011" => go one left, then 2 rights.\n\n```\nclass FindElements {\n\n    private TreeNode root;\n    public FindElements(TreeNode root) {\n        this.root = root;\n        \n    }\n    \n    public boolean find(int target) {\n        String binaryRep = Long.toString(target + 1L, 2);\n        TreeNode curr = root;\n        int i = 1;\n        int len = binaryRep.length();\n        while(i < len && curr != null) {\n            char ch = binaryRep.charAt(i);\n            curr = ch == \'1\' ? curr.right : curr.left;\n            ++i;\n        }\n        \n        return curr != null;\n        \n    }\n}\n```
[]