/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/classSolution{int max =0;publicintdiameterOfBinaryTree(TreeNode root){if(root != null){//遍历每一个节点,求出此节点作为根的树的深度,那么,左子树深度加右子树深度的最大值即是答案setDepth(root);return max;}return0;}publicintsetDepth(TreeNode root){if(root != null){int right =setDepth(root.right);int left =setDepth(root.left);if(right + left > max)
max = right + left;return Math.max(right, left)+1;}return0;}}