LeetCode 687. 最长同值路径

2023-11-18

题目链接:https://leetcode.cn/problems/longest-univalue-path/

C++ 代码如下:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
private:
    int res;

public:
    int longestUnivaluePath(TreeNode* root) {
        res = 0;
        longest(root);
        return res;
    }

    int longest(TreeNode* root) {
        if (root == nullptr) return 0;
        int left = longest(root->left);
        int right = longest(root->right);
        
        if (root->left != nullptr && root->left->val == root->val) {
            left++;
        } else {
            left = 0;
        }

        if (root->right != nullptr && root->right->val == root->val) {
            right++;
        } else {
            right = 0;
        }

        res = max(res, left + right);

        return max(left, right);
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 687. 最长同值路径 的相关文章

随机推荐

  • 算法学习之二分查找

    个人主页 勇敢的小牛儿 推荐专栏 C语言知识点 座右铭 敢于尝试才有机会 今日鸡汤 Is the true wisdom fortitude ambition Napoleon 真正的才智是刚毅的志向 拿破仑 目录 一 二分查找法介绍 二
  • JAVA单元测试框架-13-TestNG中的Listener监听

    使用TestNG中的Listener完成监听测试 通过实现ITestListener里面的方法完成测试过程监听 public class TestListenner implements ITestListener Override pub
  • 浮点数转化为字符串存进数组模块分享(自动保留到小数点后一位)

    目录 一 使用说明 二 模块代码 三 代码讲解 四 作者的话 一 使用说明 1 数据格式 浮点数可以为整数部分不超过3位的所有浮点数 数组格式只能设置为下面这一种 unsigned char fnums 5 0 a 0 用于存放正负 1表示
  • 面向对象编程是什么意思呢?汇总

    https blog csdn net qq 32381815 article details 79119996 面向对象思想 谈谈你对面向对象的理解 https blog csdn net qsbbl article details 71
  • Altium Designer20快捷键整理合集

    花了点时间整理了一下平常经常用到的一些AD20的快捷键操作 自用可取 经过验证均可用 原理图 PCB通用快捷键 保存 CTRL S 打开 CTRL O 关闭 CTRL F4 打印 CTRL P 退出 ALT F4 项目打包 C P 文档切换
  • UnrealEngine4初始设置及个人使用崩溃记录

    日志 1 第一次记录 2020 2 05 版本 4 24 2 UnrealEngine的初始设置 1 在Epic中下载UnrealEngine4之后 1 1 首先 启动 选项 1 2 接着 勾选 输入调试用符号 应用 以后出现新的崩溃问题
  • vue3中如何循环本地图片

  • eNSP实验:DHCP&&安全区域&&安全策略&&静态路由

    解题思路 1 先给各个接口以及server1服务器配置好地址 2 连接Cloud云 利用物理 web 防火墙 方便操作 只用命令行的情况下可以不用这个方法 3 利用DHCP给各个方向接口的PC自动分配好地址 4 利用静态路由的方法 将两个防
  • VimFoundation

    模式 vim 分为两种模式 1 命令模式 2 编辑模式 命令模式 i 进入编辑模式 w 保存 q 退出 强制 syntax on 打开语法高亮 set number 显示行号 cc 剪切当前行 pp 粘贴到当前行 u 撤销3武器3 yy 复
  • 开源大模型资料总结

    基本只关注开源大模型资料 非开源就不关注了 意义也不大 基座大模型 LLaMA 7 13 33 65B 1 4T token LLaMA及其子孙模型概述 知乎 GLM 6 130B ChatGLM基座 GLM General Languag
  • C++基础知识 - stack容器

    stack容器 stack是堆栈容器 是一种 先进后出 的容器 stack是基于deque容器而实现的容器 include lt stack gt stack对象的默认构造 stack采用模板类实现 stack对象的默认构造形式 stack
  • 金三银四必备,全面总结 Kotlin 面试知识点

    作者 彭旭锐 前言 在 Android 面试中很重视基础知识的考察 其中语言基础主要包括 Java Kotlin C C 三种编程语言 在小彭面试的经验中 发现很多同学的 Kotlin 语言能力只是停留在一些非常入门的语法使用上 在这篇文章
  • 如何让ChatGPT写情书(三步走)

    近年来 人工智能技术的迅猛发展给我们生活带来了许多便利和惊喜 而动人的情书文学也逐渐成为ChatGPT技术的应用领域之一 ChatGPT模型是一种递归神经网络 可以在大量数据的基础上为用户生成语言内容 使用GPT来写情书 相比以前的纯手工撰
  • python详细安装教程(配置环境变量)

    python安装教程 配置环境变量 人生苦短 我用python 直接在官网下载安装包 msi文件进行安装 https www python org downloads windows 下载python 注意 浏览器左下角下载 点击后 会自动
  • conda和pip 安装python依赖包区别和使用技巧

    引言 Conda 作为一种跨平台的包和虚拟环境管理器 使用的时候功能与pip类似 安装python依赖包的时候经常将两种方法混合使用 但一直没有进行具体区分其差别 重新安装python依赖包的时候出现各种不兼容的bug 经历一天烦躁的安装
  • 你不知道的 script 标签的 defer 与 async 属性

    我持续组织了近一年的源码共读活动 感兴趣的可以 点此扫码加我微信 ruochuan12 参与 每周大家一起学习200行左右的源码 共同进步 同时极力推荐订阅我写的 学习源码整体架构系列 包含20余篇源码文章 历史面试系列 另外 目前建有江西
  • 4G路由器设置

    总共分四步如下图所示 1 用网线连接电脑 2 给路由器上电 3 设置电脑网络 如图打开电脑网络和共享数据中心选中本地连接双击 弹出如下图所示弹框选择图中ipv4双击 根据下面图片配置ip地址 4 浏览器上输入地址访问路由器进行配置 第一步
  • CV 经典主干网络 (Backbone) 系列: CSP-Darknet53

    CSP Darknet53 0 引言 1 网络结构图 1 1 输入部分 1 2 CSP部分结构 1 3 输出部分 2 代码实现 2 1 代码整体实现 2 2 代码各个阶段实现 3 代码测试 4 结论 0 引言 CSP Darknet53无论
  • Halcon实战记录之二《判断两个直线或者矩形是否相交》

    项目中使用到需要判断两个矩形是否相交 由于我使用Halcon不久 对其算子还不熟悉 不知道是否有现成的算子可以直接实现 如果有 还请各位朋友给留言指出 先谢谢了 我这里用了如下的方法 1 如果两个矩形相交 那么它们中的线段一定会有相交的 我
  • LeetCode 687. 最长同值路径

    题目链接 https leetcode cn problems longest univalue path C 代码如下 Definition for a binary tree node struct TreeNode int val T