<?php


/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 计算两个数之和
 * @param s string字符串 表示第一个整数
 * @param t string字符串 表示第二个整数
 * @return string字符串
 */
function solve( $s ,  $t )
{
    $arrS =  str_split($s);
    $arrT =  str_split($t);
    $tmp = 0;
    if(count($arrS)>=count($arrT)){
       $longArr =  $arrS;
       $smallArr = $arrT;
    }else{
       $longArr =  $arrT;
       $smallArr = $arrS;
    }
    


    $longArr = array_reverse($longArr);
    $smallArr = array_reverse($smallArr);
    $tmp = 0;
    foreach($longArr as $k =>$v){
        if(isset($smallArr[$k])){
            $longArr[$k]  = $longArr[$k] + $smallArr[$k] +$tmp;
        }else{
            $longArr[$k] = $longArr[$k] + $tmp;
        }
        
        if($longArr[$k] >=10){
            $longArr[$k] = $longArr[$k]-10;
            $tmp = 1;
        }else{
            $tmp = 0;              
        }
       
    }
        
    if($tmp != 0 ){
        $longArr[]= 1;
    }
    $longArr = array_reverse($longArr);
    $longArr =  implode($longArr);
    return $longArr;
    // write code here
}


print_r(solve(733064366,459309139));

1.转换成数组
2.反转数组
3.根据位数排序,以长的为主体循环,长度相等时任意
4.主体+另一数组同为+缓存,判断和>=10减一,存缓存,反之清除缓存
5.循环结束后,判断缓存是否存在,存在时尾部插入1
6.反转数组,转换为字符串