समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग, str लेता है, जिसमें अक्षर और कुछ विशेष वर्ण होते हैं।
हमारे फ़ंक्शन को इनपुट स्ट्रिंग के आधार पर एक नई स्ट्रिंग लौटानी चाहिए, जहां सभी वर्ण जो अक्षर नहीं हैं, एक ही स्थान पर रहते हैं, और सभी अक्षर अपनी स्थिति को उलट देते हैं।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const str = 'k_lmn_opq';
आउटपुट
const output = 'q_pon_mlk';
उदाहरण
const str = 'k_lmn_opq'; const reverseAlphabets = (str) => { const arr = str.split('') let left = 0 let right = arr.length - 1 const swap = (a, b) => { const temp = arr[a] arr[a] = arr[b] arr[b] = temp } const isLetter = (x = '') => /[a-zA-Z]/.test(x) while (left <= right) { while (!isLetter(arr[left])) { left += 1 if (left > right) { break } } while (!isLetter(arr[right])) { right -= 1 if (left > right) { break } } if (left > right) { break } swap(left, right) left += 1 right -= 1 } return arr.join('') }; console.log(reverseAlphabets(str));
आउटपुट
q_pon_mlk