Method - 1
import java.io.*;
class SumDigits
{
static int getSum(int num)
{
int sum = 0;
while (num != 0)
{
sum = sum + num % 10;
num = num / 10;
}
return sum;
}
public static void main(String[] args)
{
int num = 12345;
System.out.println(getSum(num));
}
}
Output: 15
Time Complexity: O(|n|)
Auxiliary Space: O(1)
Method - 2: Single Line
import java.io.*;
class SumDigits {
static int getSum(int num)
{
int sum;
for (sum = 0; num > 0; sum += num % 10, num /= 10);
return sum;
}
public static void main(String[] args)
{
int num = 12345;
System.out.println(getSum(num));
}
}
Output: 15
Time Complexity: O(|n|)
Auxiliary Space: O(1)
Method - 3: Recursive
import java.io.*;
class SumDigits
{
static int sumDigits(int num)
{
return num == 0 ? 0 : num % 10 + sumDigits(num / 10);
}
public static void main(String[] args)
{
int num = 12345;
System.out.println(sumDigits(num));
}
}
Output: 15
Time Complexity: O(log10n)
Auxiliary Space: O(log10n)