Easy O(n) JAVA DFS solution
\nclass Solution {\n    private int leftCount;\n    private int rightCount;\n    \n    public boolean btreeGameWinningMove(TreeNode root, int n, int x) {\n     
```\nclass Solution {\n    private int leftCount;\n    private int rightCount;\n    \n    public boolean btreeGameWinningMove(TreeNode root, int n, int x) {\n        find(root, x);\n        int red = 1 + leftCount + rightCount;\n        if (n - red > red || leftCount > n - leftCount || rightCount > n - rightCount) return true;\n        return false;\n    }\n    \n    private boolean find(TreeNode node, int target) {\n        if (node == null) return false;\n        if (node.val == target) {\n            leftCount = getCount(node.left);\n            rightCount = getCount(node.right);\n            return true;\n        } else {\n            if (find(node.left, target)) return true;\n            if (find(node.right, target)) return true;\n            return false;\n        }\n    }\n    \n    private int getCount(TreeNode node) {\n        if (node == null) return 0;\n        return 1 + getCount(node.left) + getCount(node.right);\n    }\n}\n```
[]