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

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

前言

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

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

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

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

一起来看看吧。

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月前
|
存储 算法
【优选算法专栏】专题十六:BFS解决最短路问题---前言
【优选算法专栏】专题十六:BFS解决最短路问题---前言
71 1
|
9月前
|
存储 编译器 C语言
牛客网刷题笔记小节(二)
牛客网刷题笔记小节(二)
|
9月前
|
算法 Java
刷题专栏(二十五):有效的完全平方数
刷题专栏(二十五):有效的完全平方数
201 2
|
9月前
|
算法
刷题专栏(三十):数组拆分 I
刷题专栏(三十):数组拆分 I
134 2
|
9月前
|
算法 Java
刷题专栏(二十三):4的幂
刷题专栏(二十三):4的幂
108 0
|
9月前
|
算法
刷题专栏(二十二):3 的幂
刷题专栏(二十二):3 的幂
134 0
|
9月前
|
算法
刷题专栏(十六):丑数
刷题专栏(十六):丑数
70 0
|
9月前
|
算法
刷题专栏(三):二进制求和
刷题专栏(三):二进制求和
78 0
|
9月前
|
算法
刷题专栏(二十四):两个数组的交集
刷题专栏(二十四):两个数组的交集
115 0