LeetCode 88: Merge Sorted Array solution

Here is my solution for Merge Sorted Array problem in PHP. This is not the most efficient solution.

 class Solution {

  /**
    * @param Integer[] $nums1
    * @param Integer $m
    * @param Integer[] $nums2
    * @param Integer $n
    * @return NULL
    */
    function merge(&$nums1, $m, $nums2, $n) {
        if ($n == 0) {
            return;
        }

        if ($m == 0) {
            for ($i=0; $i  < $n; $i++) {
                $nums1[$i] = $nums2[$i];
            }
        }

        $i = 0;
        $j = 0;

        while ($i  < $m  &&  $j  < $n) {
            if ($nums1[$i]  < =$nums2[$j]) {
                $i++;
            } else {
                $this->array_insert($nums1, $i++, $nums2[$j]);
                $m++;
                $j++;
            }
        }

        while ($j   < $n) {
            $nums1[$i++] = $nums2[$j++];
        }

    }

    function array_insert( & $arr, $i, $num) {
        $endArr = array_slice($arr, $i);
        $arr[$i] = $num;

        for ($x=$i+1; $x < count  ($arr);   $x++)   {
             $arr  [$x  ]   = array_shift  ($endArr);
         }
     }
 }
Published on

Previous post: Finding childcare through your employer

Next post: LeetCode 1: Two Sum