Java 100% Time 100% Memory
\nclass Solution {\n    public boolean btreeGameWinningMove(TreeNode root, int n, int x) {\n        TreeNode cur = findNode(root, x);\n        int numP = 0;\n  
```\nclass Solution {\n    public boolean btreeGameWinningMove(TreeNode root, int n, int x) {\n        TreeNode cur = findNode(root, x);\n        int numP = 0;\n        if (findSize(cur.left) > n / 2) return true;\n        if (findSize(cur.right) > n / 2) return true;\n        if (findSize(cur) <= n / 2) return true;\n        return false;    \n    }\n    int findSize(TreeNode root) {\n        if (root == null) return 0;\n        return findSize(root.left) + findSize(root.right) + 1;\n    }\n    TreeNode findNode(TreeNode root, int x) {\n        if (root == null) return null;\n        if (root.val == x) {\n            return root;\n        } \n        TreeNode left = findNode(root.left, x);\n        if (left != null) return left;\n        return findNode(root.right, x);\n    }\n}\n```
[]