news 2026/5/16 18:16:15

2026年--Lc337-1372. 二叉树中的最长交错路径(树)--java版

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2026年--Lc337-1372. 二叉树中的最长交错路径(树)--java版

1.题目



2.思路

(1)思路:
可以用dfs,深度优先遍历,但是要符合先遍历左孩子再遍历左孩子的右孩子的规则;或者先遍历右孩子再遍历右孩子的左孩子。最后把路径上的节点个数-1,就是所得的节点个数。
但是最长 ZigZag 不一定从根开始,所以不能只沿着根的一条“左-右-左…”或“右-左-右…”走到底;需要在每个节点都考虑作为起点的可能性。最常用做法是:DFS 时同时维护“当前上一步方向 + 当前长度”,并在每个节点尝试“继续交替”与“重新开始”。

(2)定义 dfs(node, dir, len)

dir=0 表示“上一步走的是左边”(所以下一步要走右才算继续)

dir=1 表示“上一步走的是右边”(所以下一步要走左才算继续)

len 表示当前 ZigZag 的边数长度。

第一个参数 node:表示“当前递归走到的节点是谁”(一个 TreeNode 对象)

第二个参数 dir:表示“到达这个 node 的上一条边方向是什么”(一个方向标记,不是节点)

第三个参数 len:表示“当前 ZigZag 的长度(边数)”

(3)ans 为什么作为全局变量

方便在 DFS 的所有分支里共享并更新最大值。

3.代码实现

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */classSolution{intans=0;publicintlongestZigZag(TreeNoderoot){if(root==null)return0;// 从根的左边开始,长度为1条边dfs(root.left,0,1);//代表上一步的方向是向左//从根的右边开始,长度为1条边dfs(root.right,1,1);//代表上一步的方向是向右returnans;}//TreeNode node符合zigzag路线的起始节点,不一定是根节点publicvoiddfs(TreeNodenode,intdir,intlen){if(node==null)return;ans=Math.max(ans,len);if(dir==0)//上一步方向是向左,下一步要走右才算继续{dfs(node.right,1,len+1);//向右,相反方向,长度+1dfs(node.left,0,1);//向左,相同方向,重置,长度就是1}else{//上一步方向是向右,下一步要走左才算继续dfs(node.right,1,1);//向右,相同方向,重置,长度就是1dfs(node.left,0,len+1);//向左,相反方向,长度+1}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 20:50:08

AI+摄影:使用MiDaS模型为照片添加深度信息实战

AI摄影:使用MiDaS模型为照片添加深度信息实战 1. 引言:当AI赋予照片“三维感知”能力 在传统摄影中,图像本质上是二维的平面表达,丢失了真实世界中的空间深度信息。然而,随着深度学习的发展,单目深度估计…

作者头像 李华
网站建设 2026/5/9 20:19:05

单目深度估计应用案例:MiDaS在机器人导航中的实践

单目深度估计应用案例:MiDaS在机器人导航中的实践 1. 引言:从2D视觉到3D空间感知的跨越 随着智能机器人技术的快速发展,环境感知能力成为决定其自主性与安全性的核心要素。传统机器人多依赖激光雷达(LiDAR)或多目立体…

作者头像 李华
网站建设 2026/5/2 13:07:33

单目视觉深度估计实战:MiDaS模型性能优化完整指南

单目视觉深度估计实战:MiDaS模型性能优化完整指南 1. 引言:从2D图像到3D空间感知的AI飞跃 在计算机视觉领域,单目深度估计(Monocular Depth Estimation)是一项极具挑战性的任务——仅凭一张2D图像,推断出…

作者头像 李华
网站建设 2026/5/13 17:08:46

基于UDS协议的Bootloader定制之旅

基于UDS协议的Bootloader定制 采用autosar架构的标准,DCM集成uds协议,可定制nxpS32K,tc275,tc1782,NXP5746,NXP5748系列等在汽车电子开发领域,基于UDS(Unified Diagnostic Services)…

作者头像 李华
网站建设 2026/5/12 3:21:26

单目视觉MiDaS教程:热力图生成与解析详细步骤

单目视觉MiDaS教程:热力图生成与解析详细步骤 1. 引言:AI 单目深度估计 - MiDaS 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备,成本高且部署复杂。近年来…

作者头像 李华
网站建设 2026/5/11 1:30:39

工业图纸文字识别新突破|基于Qwen3-VL-WEBUI实现高精度提取

工业图纸文字识别新突破|基于Qwen3-VL-WEBUI实现高精度提取 在智能制造与工业数字化转型的浪潮中,一个长期被忽视却影响深远的问题逐渐凸显:如何高效、准确地从海量工业图纸中提取结构化信息?这些图纸往往包含手写标注、模糊扫描…

作者头像 李华