刷题专栏(十五):各位相加

简介: 刷题专栏(十五):各位相加

前言

刷题专栏到目前已经是第十五篇了,欢迎大家来关注我的刷题专栏,一起来刷题。

今天的这道题终于不再是二叉树的题目了。

开始数字相关的题目了,《各位相加》这道题,主要就是考察逻辑方面的能力。

如果你对逻辑的题目感兴趣,或许可以从这道题找到有意思的地方。

一起来看看吧。

image.png

算法题:翻转二叉树

从题目的描述上来看,只是提供了一个正整数。

然后将这个正整数每一位上的数字进行相加,然后得到一个中间值。

然后如果这个中间值不是个位数的话,那么就接着将每一位上的数字进行相加。

直到得到的值是一个个位数时,就将这个数字返回。

在示例中,我们也可以看的出来。

从38,相加后得到一个中间值11。

然后再次进行各位相加,最后得到值2。

代码展示

下面就是这次的代码展示了,主要就是通过数字取余的方式来判定是否继续相加。

逻辑比较简单,只要懂得如何取余,如何将所有的值得到就能完成这道题的解答。

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.addDigits(38));
    }
    public int addDigits(int num) {
        while (num >= 10) {
            int s = 0;
            while (num > 0) {
                s += num % 10;
                num /= 10;
            }
            num = s;
        }
        return num;
    }
}

代码执行结果

今天执行的结果很可以,一如既往还是内存占用比较多,大家如果有更好的方案可以评论区讨论一下哈。

image.png

总结

今天的这道题,重在逻辑实现,只要将思绪理清,代码实现不在话下的,加油各位,胜利就在前方。

目录
相关文章
|
9月前
|
存储 编译器 C语言
牛客网刷题笔记小节(二)
牛客网刷题笔记小节(二)
学C的第八天(完成猜字谜游戏复习之前的内容;了解goto转向语句;补充知识点;练习,学习试除法和辗转相除法)-2
3.写一个代码,打印100-200之间的素数:(新思路:试除法) (判断i是否为素数:用 2到i-1 之间的数字去试除 i,如果能整除则i不是素数)
111 0
|
9月前
|
算法 Java
刷题专栏(二十五):有效的完全平方数
刷题专栏(二十五):有效的完全平方数
206 2
|
9月前
|
搜索推荐 算法 索引
刷题专栏(十九):移动零
刷题专栏(十九):移动零
67 1
|
9月前
|
算法 Java
刷题专栏(二十三):4的幂
刷题专栏(二十三):4的幂
110 0
|
9月前
|
算法
刷题专栏(二十二):3 的幂
刷题专栏(二十二):3 的幂
134 0
|
9月前
|
算法
刷题专栏(十六):丑数
刷题专栏(十六):丑数
72 0
|
9月前
|
算法
刷题专栏(三):二进制求和
刷题专栏(三):二进制求和
80 0
|
9月前
|
算法
刷题专栏(二十四):两个数组的交集
刷题专栏(二十四):两个数组的交集
117 0
|
9月前
|
算法
刷题专栏(十二):翻转二叉树
刷题专栏(十二):翻转二叉树
76 0