leetcode之Add Digits

来源:互联网 发布:淘宝如何拉免费流量 编辑:程序博客网 时间:2024/06/05 03:26

最近在做leetcode上面的题目(官网网址:https://leetcode.com/),记录下自己的思路。

本题网址:https://leetcode.com/problems/add-digits/

题目:

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.
For example:
Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?

题目让我们将这个数的每一位加起来,如此往复,知道这个数为一位数。

由题意知,要求时间复杂度为O(1),因此我们不能采用循环的办法,只能一次性得到答案。通过观察数的规律得知最终的结果的模9的结果。

答案如下:

public class Solution {    public int addDigits(int num) {          if (num == 0)            return 0;          int result = num % 9;        if (result == 0)            result = 9;        return result;    }}


0 0
原创粉丝点击