___Cyber___
Senior Member
PHP:
class Solution {
/**
* @param Integer $start
* @param Integer $goal
* @return Integer
*/
function minBitFlips($start, $goal) {
$startBin = decbin($start);
$goalBin = decbin($goal);
// make the 2 string are same length
$diff = abs(strlen($startBin) - strlen($goalBin));
if ($diff > 0) {
$add = array_fill(0, $diff, '0');
if (strlen($startBin) > strlen($goalBin)) {
$goalBin = implode('', $add) . $goalBin;
} else {
$startBin = implode('', $add) . $startBin;
}
}
// count steps
$steps = 0;
for ($i=0; $i<strlen($startBin); $i++) {
$steps += ($startBin[$i] !== $goalBin[$i]) ? 1 : 0;
}
return $steps;
}
}


