412. Fizz Buzz \ 404. Sum of Left Leaves

2023-11-09

412

法一:

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> result;

        for(int i = 1; i <= n; i++)
        {
            char tmp[10];
            if(!(i % 15))
            {
                result.push_back("FizzBuzz");
            }    
            else
            if(!(i%3))
            {
                result.push_back("Fizz");
            }
            else
            if(!(i%5))
            {
                result.push_back("Buzz");
            }
            else
            {
                sprintf(tmp,"%d",i);
                result.push_back(tmp);
            }
        }

        return result;
    }
};

法二:

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> ret_vec(n);
        for(int i=1; i<=n; ++i)
        {
            if(i%3 == 0)
            {
                ret_vec[i-1] += string("Fizz");
            }
            if(i%5 == 0)
            {
                ret_vec[i-1] += string("Buzz");
            }
            if(ret_vec[i-1] == "")
            {
                ret_vec[i-1] += to_string(i);
            }
        }
        return ret_vec;
    }
};

404

法一:这个思路解法还算是清晰,就是把每次计算的值最终累加起来,判断做节点是否是叶子。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int sumOfLeftLeaves(TreeNode* root) {
        if (!root) return 0;

        if (root->left && !root->left->left && !root->left->right) return root->left->val + sumOfLeftLeaves(root->right);

        return sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
    }
};

法二: 这个代码逻辑更简单。但是我发现这里的result得定义成全局变量,但是测试的时候我定义为static是可以的,但是提交却不可以。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */

class Solution {
public:
    int result = 0;
    int sumOfLeftLeaves(TreeNode* root) {

        TreeNode *left_part = NULL;
        TreeNode *right_part = NULL;

        if(root != NULL)
        {
            left_part = root->left;
            right_part = root->right;

            if(left_part)
            {
                if(left_part->left == NULL && left_part->right == NULL)
                {
                    result += left_part->val;
                }
                else
                {
                    result = sumOfLeftLeaves(left_part);
                }
            }

            if(right_part)
                if(right_part->left != NULL || right_part->right != NULL)
                    result = sumOfLeftLeaves(right_part);
        } 

        return result;

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

412. Fizz Buzz \ 404. Sum of Left Leaves 的相关文章

  • Mysql高级部分

    1 索引 索引 index 是帮助Mysql高效获取数据的数据结构 索引的目的在于提高查询效率 可以类比字典 可以简单理解为 排好序的快速查找数据结构 在数据之外 数据库系统还维护着满足特定查找算法的数据结构 这些数据结构以某种方式引用 指
  • tslib1.4的交叉编译

    tslib是touch screen lib 即支持触摸屏的库文件 要交叉编译qte4 5 2 就必须先要编译tslib1 4 今天做了这个工作 记录一下 平台 VMware Centos5 4 交叉编译器 arm linux 3 4 1

随机推荐

  • windows下使用cmake编译c++

    好久没有更新博客了 最近在做c 相关的 编译起来确实很痛苦 所以心血来潮 继续更新一下 主要还是一些跨平台的库 比如zlib libpng opencv ffmpeg 编译工具使用mingw作为主要编译环境支持 使用msys进行编译 一 下
  • R语言实战笔记--第八章 OLS回归分析

    R语言实战笔记 第八章 OLS回归分析 标签 空格分隔 R语言 回归分析 首先 是之前的文章 数理统计里面的简单回归分析 这里简单回顾一下 简单回归分析的原理 最小二乘法 即使回归函数与实际值之差的平方和最小 所以它在R中也称为OLS模型
  • 人工智能可以用来预测人口增长吗?

    人工智能可以用来预测人口增长 利用人工智能技术 可以对历史人口数据进行分析 并根据这些数据建立预测模型 从而预测未来的人口增长趋势 此外 人工智能还可以用于预测人口结构变化 人口流动趋势等方面的问题 这些预测结果可以为政府制定人口政策提供参
  • java读写文件大全(字节流读取得方法)

    原文地址 http blog sina com cn s blog 6a4af8630101et2t html 使用Java操作文本文件的方法详解 摘要 最初java是不支持对文本文件的处理的 为了弥补这个缺憾而引入了Reader和Writ
  • Ubuntu下的终端产生多标签和多标签切换快捷键

    ctrl alt t是打开一个terminal ctrl shift t是在terminal中打开多个标签 在多个标签中切换的方法 方法1 alt 1 alt 2 alt 3 方法二 ctrl pageUp ctrl pageDown ct
  • 【vision transformer】DETR原理及代码详解(四)

    本节是 DETR流程及 构建backbone和position embedding 相关部分的代码解析 一 DETR代码流程 STEP 1 Create model and criterion 构建模型和标准 STEP 2 Create t
  • IPv4和IPv6的互操作性

    概述 在IPv4到IPv6发展的过度阶段 必然出现v4和v6主机之间互操作的问题 下面从机制层面讨论互操作的可能性 并假设主机之间网络路由已经打通 IPv4客户端访问IPv6服务端 IPv4客户端访问IPv6服务端指的是服务端是双栈主机 客
  • OpenCV(二)——图像基本处理(二)

    目录 2 图像的几何变换 2 1 图像平移 2 2 图像缩放 2 3 图像旋转 2 4 仿射变换 2 5 透视变换
  • 电脑开机全是英文进不了系统怎么办

    现在工作都离不开电脑 但是有时候电脑罢工了 电脑开机全是英文进不了系统怎么办呢 下面就和大家讲讲电脑开机全是英文进不了系统解决办法吧 装机吧 电脑一键重装系统领域装机大师 重装系统xp win7 win8 win10 win11 怎么能缺少
  • python毕业设计基于django中小学信息技术课程考试系统

    文末获取资源 收藏关注不迷路 文章目录 一 项目介绍 二 主要使用技术 三 研究内容 四 核心代码 五 文章目录 一 项目介绍 通篇文章的撰写基础是实际的应用需要 然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程 以
  • Neo4j 融资 3.25 亿美元,数据库史上最大的一笔投资

    加州圣马提奥 2021年6月17日 Neo4j图形技术的领先者 今天宣布了一轮F系列融资 这是一项3 25亿美元投资的一部分 亚拉齐奥 RF Pa GV 前称谷歌风投 今天的交易代表了对私人数据库公司的最大投资 使Neo4j的估值超过20亿
  • 什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?

    本文首发于码友网 什么是 NET 什么是 NET Core NET和 NET Core区别又是什么呢 概述 对于 NET平台的初学者来说 有时候比较困惑 什么是 NET 什么是 NET Core NET和 NET Core区别又是什么呢 确
  • 【一句话攻略】彻底理解JS中的回调(Callback)函数

    作为JS的核心 回调函数和异步执行是紧密相关的 也是必须跨过去的一道个门槛 那么究竟什么是回调函数 Callback 其实回调函数并不复杂 明白两个重点即可 1 函数可以作为一个参数在另一个函数中被调用 2 JS是异步编程语言 这就是说JS
  • python-opencv滑动条,cv2滑动条,模糊示例

    cv2的滑动条使用起来其实挺简单的 只需记住两个函数就行 cv2 createTrackbar创建滑动条 cv2 getTrackbarPos获取滑动条当前值 其他要注意的是滑动条的名字以及滑动条创建在哪个窗口上 这个要一一对应 详见下例
  • react源码分析:babel如何解析jsx

    同作为MVVM框架 React相比于Vue来讲 上手更需要JavaScript功底深厚一些 本系列将阅读React相关源码 从jsx gt VDom gt RDOM等一些列的过程 将会在本系列中一一讲解 工欲善其事 必先利其器 经过多年的发
  • 内存泄漏的8种情况(附代码示例)

    一 内存泄漏 memroy leak 严格来说 只有对象不会再被程序用到了 但是GC又不能回收它们的情况 才叫内存泄漏 宽泛的讲 实际情况中很多时候一些不太好的实践会导致对象的生命周期变得很长甚至导致OOM 也叫 内存泄漏 申请了内存用完了
  • C++ - 类中的函数重载

    1 回顾函数重载 gt 函数重载的本质为相互独立的不同函数 gt C 中通过函数名和函数参数确定函数调用 gt 无法直接通过函数名得到重载函数的入口地址 gt 函数重载必然发生在同一个作用域中 2 类中的重载 类中的成员函数可以进行重载 g
  • JNI线程

    作者 左少华 博客 http blog csdn net shaohuazuo article details 43149193 转载请注明出处 http blog csdn net shaohuazuo 1 Android线程介绍 1 线
  • 一个“/”键,封锁了整个互联网

    专栏 九章算法 网址 http www jiuzhang com 正所谓无BUG不生活 从你含辛茹苦地码着第一行代码开始 bug就如影随形 其实 bug 被自己或者是测试人员发现都是好事 但如果是被用户发现 又或者导致了客户和公司的巨额损失
  • 412. Fizz Buzz \ 404. Sum of Left Leaves

    412 法一 class Solution public vector