Java: Easy solution
```\n// three positions are candidates of y\n// case 1: left child of x has greater number of elements\n//case 2: right child of x has greater number of element
```\n// three positions are candidates of y\n// case 1: left child of x has greater number of elements\n//case 2: right child of x has greater number of elements\n// case 3: parent has greater number of elements \n\nclass Solution {\n    int xlc,xrc;  \n    public boolean btreeGameWinningMove(TreeNode root, int n, int x) {\n        getChildCount(root,x);\n        int xsub = 1 + xlc + xrc; \n         \n        if(xlc>n-xlc || xrc>n-xrc || xsub<n-xsub)\n            return true;\n        return false;\n    }\n    \n    // gives me count of left subtree and right subtree below x\n    public int getChildCount(TreeNode node, int x){\n        if(node==null)\n            return 0;\n        int ans =1;\n        int lc= getChildCount(node.left,x);\n        int rc= getChildCount(node.right,x);\n        if(node.val==x){\n            xlc=lc;\n            xrc=rc;\n        }\n        ans+=lc+rc;\n        return ans;\n    }\n}
['Java']