leetcode 258. 各位相加(Java版)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 258. 各位相加(Java版)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode-cn.com/problems/add-digits/
題解
方法一:雙 while
常規解法。題目描述即思路,反復將各個位上的數字相加,直到結果為一位數,返回即可。
public class Solution {public static int addDigits(int num) {int sum = num;while (sum / 10 != 0) {num = sum;sum = 0;while (num != 0) {sum += num % 10;num /= 10;}}return sum;} }方法二:數學推理
這一題考了一個“數根”的概念,關鍵點就是,一個數 num 和 num + 9 的數根是一樣的, 所以結果就是num % 9.
但要注意兩種特殊情況:
總結
以上是生活随笔為你收集整理的leetcode 258. 各位相加(Java版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 257. 二叉树的所有
- 下一篇: 左神算法:调整搜索二叉树中两个错误的节点