Given array

```
const arr=[1,2,3,4,5,6]
```

Left Rotate array by 2 elements , Output will be ---

```
arr = [3,4,5,6,1,2]
```

This problem can be solve with reverse array approach easily

- First devide the array with given K elements to rotate
- In our case K is 2

- Reverse the corresponding devision of elements
- So after reversing the array will be

- Now reverse the whole array that will give you the output
- After reversing whole array the output will be

Implementation in Code level

```
let arr=[1,2,3,4,5,6]
let k=2
function reverseArray(arr,start,end){
while(start<end){
[arr[start],arr[end]]=[arr[end],arr[start]];
start++;
end--;
}
return arr;
}
//this will be the first step to reverse the first half
let reversedFirstHalf=reverseArray(arr,0,k-1)
//this will be the second step to reverse the second half
let reversedSecondHalf=reverseArray(reversedFirstHalf,k,arr.length-1)
//After reversing the whole array
let rotateArrayOutput = reverseArray(reversedSecondHalf,0,arr.length-1)
```

## Top comments (0)