给你一棵二叉树的根节点,返回该树的 直径 。
二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的 长度 由它们之间边数表示。
问题转化:
一条路径的长度 = 该路径经过的节点数 – 1
直径 = 求最长路径 = 求路径经过节点数的最大值 – 1
代码块:

实例:

核心:经过 node 的最长路径总节点 = L+R+1,不断刷新 ans 最大值
给你一棵二叉树的根节点,返回该树的 直径 。
二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的 长度 由它们之间边数表示。
问题转化:
一条路径的长度 = 该路径经过的节点数 – 1
直径 = 求最长路径 = 求路径经过节点数的最大值 – 1
代码块:

实例:

核心:经过 node 的最长路径总节点 = L+R+1,不断刷新 ans 最大值