Skip to content

Commit 8d65b1c

Browse files
committed
Move Zeroes
1 parent a67db86 commit 8d65b1c

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

ArrayProblems/MoveZeroes.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Hakam\LeetCodePhp\ArrayProblems;
4+
5+
class MoveZeroes
6+
{
7+
/**
8+
* @param Integer[] $nums
9+
* @return NULL
10+
*/
11+
function moveZeroes(&$nums) {
12+
foreach ($nums as $i => $iValue) {
13+
if ($iValue === 0) {
14+
unset($nums[$i]);
15+
$nums[] = 0;
16+
}
17+
}
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace ArrayProblems;
4+
5+
use Hakam\LeetCodePhp\ArrayProblems\MoveZeroes;
6+
use Hakam\LeetCodePhp\Tests\Helper\MainTest;
7+
8+
class MoveZeroesTest extends MainTest
9+
{
10+
/**
11+
* @dataProvider provideData
12+
*/
13+
public function testWithDataList($expectedResult, $inputData): void
14+
{
15+
$moveZeroes = new MoveZeroes();
16+
$moveZeroes->moveZeroes($inputData);
17+
self::assertEmpty(array_diff($expectedResult,$inputData));
18+
}
19+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"testCase1": {
3+
"expectedResult": [1,3,12,0,0],
4+
"input": [0,1,0,3,12]
5+
},
6+
"testCase2": {
7+
"expectedResult": [5,9,12,3,40,0,0],
8+
"input": [5,9,0,12,3,0,40,0]
9+
}
10+
}

0 commit comments

Comments
 (0)