From 13ecee85cfbb2256b5363598b0a54935e0eb7b79 Mon Sep 17 00:00:00 2001 From: satya-hash Date: Fri, 30 Aug 2024 09:28:43 +0530 Subject: [PATCH] added reverse array using js --- .../01. Reverse an Array/Reverse_Array.js | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 02. Algorithms/01. Arrays/01. Reverse an Array/Reverse_Array.js diff --git a/02. Algorithms/01. Arrays/01. Reverse an Array/Reverse_Array.js b/02. Algorithms/01. Arrays/01. Reverse an Array/Reverse_Array.js new file mode 100644 index 00000000..26167ee0 --- /dev/null +++ b/02. Algorithms/01. Arrays/01. Reverse an Array/Reverse_Array.js @@ -0,0 +1,46 @@ +// Method 1 +// time complexity: O(n) + +let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +let res = []; +for (let i = arr.length - 1; i >= 0; i--) { + res.push(arr[i]); +} +console.log(res); + +// Method 2 +// using two pointer approach +// time complexity: O(n) + +arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +let left = 0, + right = arr.length - 1; +while (left < right) { + let temp = arr[left]; + arr[left] = arr[right]; + arr[right] = temp; + left++; + right--; +} +console.log(arr); + +// Method 3 +// using in-built functions +// time complexity: O(n) +arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +arr.reverse(); +console.log(arr); + +// Method 4 +// using recursion +// time complexity: O(n) +arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +function reverseArray(arr, start, end) { + if (start >= end) return; + let temp = arr[start]; + arr[start] = arr[end]; + arr[end] = temp; + reverseArray(arr, start + 1, end - 1); +} +reverseArray(arr, 0, arr.length - 1); +console.log(arr);