Easy Simple Java solution with Approach || 100% fast
Approach \nEveryone loves winning Therefore in this game we also want to win so for that we will block the first player\'s right subtree or left subtree or pare
**Approach** \nEveryone loves winning Therefore in this game we also want to win so for that we will block the first player\'s right subtree or left subtree or parent subtree on the basis of most nodes in subtree .\ncount1 -> we find the count of left subtree\ncount2 -> we find the count of right subtree\nn-count1-count2-1  -> count of parent subtree\n\nif any one of them have greater than half of total number of nodes we will win. \n\n```\npublic boolean btreeGameWinningMove(TreeNode root, int n, int x) {\n        TreeNode node = find(root,x);    // find the given node of first player\n        if(node.left == null && node.right == null) return true;\n        int count1 = countOfSubtree(node.left);  // count of left subtree\n        int count2 = countOfSubtree(node.right);    // count of right subtree\n        return (count1 > n/2 || count2 > n/2 || n-count1-count2-1 >n/2);\n    }\n    \n    public TreeNode find(TreeNode root,int x){\n        if(root == null) return null;\n        if(root.val == x) return root;\n        TreeNode left = find(root.left,x);\n        if(left != null) return left;\n        TreeNode right = find(root.right,x);\n        if(right != null) return right;\n        return null;\n    }\n    \n    public int countOfSubtree(TreeNode root){\n        if(root == null) return 0;\n        int count =0;\n        count += countOfSubtree(root.left);\n        count += countOfSubtree(root.right);\n        return count + 1;\n    }\n```
[]