carloscn / structstudy

Leetcode daily trainning by using C/C++/RUST programming.
4 stars 1 forks source link

leetcode2553: Separate the Digits in an Array #417

Open carloscn opened 10 months ago

carloscn commented 10 months ago

Description

Given an array of positive integers nums, return an array answer that consists of the digits of each integer in nums after separating them in the same order they appear in nums.

To separate the digits of an integer is to get all the digits it has in the same order.

For example, for the integer 10921, the separation of its digits is [1,0,9,2,1].

Example 1:

Input: nums = [13,25,83,77] Output: [1,3,2,5,8,3,7,7] Explanation:

Example 2:

Input: nums = [7,1,3,9] Output: [7,1,3,9] Explanation: The separation of each integer in nums is itself. answer = [7,1,3,9].

Constraints:

1 <= nums.length <= 1000 1 <= nums[i] <= 105

carloscn commented 10 months ago

Analysis

pub fn separate_digits(nums: Vec<i32>) -> Vec<i32>
{
    let mut ret:Vec<i32> = vec![];
    if nums.len() < 1 {
        return ret;
    }

    for e in nums {
        let mut d = e;
        let mut t:Vec<i32> = vec![];
        while d != 0 {
            t.push(d % 10);
            d /= 10;
        }
        t.reverse();
        ret.append(&mut t);
    }

    return ret;
}
carloscn commented 10 months ago

Code

https://review.gerrithub.io/c/carloscn/structstudy/+/1171979 https://github.com/carloscn/structstudy/commit/f76166e26cac8ef90932bffe8c8c3a501e0790dc