Example #1
0
function addOne($lgNumStr)
{
    $lgNumArr = str_split($lgNumStr);
    $lastIndex = count($lgNumArr) - 1;
    if ($lgNumArr[$lastIndex] < 9) {
        $lgNumArr[$lastIndex]++;
        $lgNumArr[$lastIndex] = (string) $lgNumArr[$lastIndex];
        $added = implode('', $lgNumArr);
        return $added;
    } else {
        $indexFirstNonNine = getFirstNonNineIndex($lastIndex, $lgNumArr);
        $lgNumArr[$indexFirstNonNine]++;
        $lgNumArr[$indexFirstNonNine] = (string) $lgNumArr[$indexFirstNonNine];
        for ($i = $indexFirstNonNine + 1; $i <= $lastIndex; $i++) {
            $lgNumArr[$i] = '0';
        }
        $added = implode('', $lgNumArr);
        return $added;
    }
}
function stringAddTwo($num)
{
    //get index location of last item in string
    $lastNum = strlen($num) - 1;
    $finalNum = "";
    //turn string into array
    $num = str_split($num);
    //if the last number is less than nine then simply add 1 and you're done
    if ($num[$lastNum] < 9) {
        $num[$lastNum]++;
        foreach ($num as $digit) {
            $finalNum .= $digit;
            return $finalNum;
        }
        //else
    } else {
        $indexFirstNonNine = getFirstNonNineIndex($num);
        $num[$indexFirstNonNine]++;
        for ($i = $indexFirstNonNine + 1; $i < count($num); $i++) {
            $num[$i] = "0";
        }
        foreach ($num as $digit) {
            $finalNum .= $digit;
            return $finalNum;
        }
    }
}