/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/classSolution{publicintminCameraCover(TreeNoderoot){intcount=order(root);if(root==null)return0;if(root.val==0)count++;returncount;}privateintorder(TreeNoderoot){if(root==null)return0;intcount=0;count=order(root.left)+order(root.right);if((root.left!=null&&root.left.val==0)||(root.right!=null&&root.right.val==0)){root.val=2;count++;returncount;}if((root.left!=null&&root.left.val==2)||(root.right!=null&&root.right.val==2)){root.val=1;}returncount;}}