LeetCode Entry

66. Plus One

01.01.2026 easy 2026 kotlin rust

Increment big number

66. Plus One easy blog post substack youtube c9513975-0f11-4aac-af43-cf8d3f5dbf95 (1).webp

Join me on Telegram

https://t.me/leetcode_daily_unstoppable/1222

Problem TLDR

Increment big number #easy

Intuition

The simplest and robust solution is a separate container for result digits and a counter for carry.

Approach

  • optimization: stop at first non-nine
  • optimization: count suffix nines in a forward cache-friendly pass

    Complexity

  • Time complexity: \(O(n)\)
  • Space complexity: \(O(n)\)

    Code

    // 0ms
      fun plusOne(d: IntArray): IntArray {
          for (i in d.size-1 downTo 0) if (d[i]<9) {++d[i]; return d} else d[i]=0
          return IntArray(d.size+1).also {it[0]=1}
      }
    
    // 0ms
      pub fn plus_one(mut d: Vec<i32>) -> Vec<i32> {
          let (mut c,n) = (0,d.len()); for &d in &d {if d < 9 {c=0} else {c+=1}}
          if c==n { let mut r = vec![0;c+1];r[0]=1; return r}
          d[n-c..n].fill(0); d[n-c-1] += 1; d
      }