ได้รับสตริงสองตัว 'a' และ 'b' ต้องตรวจสอบว่าทั้งสองเป็นอะนากรามกันหรือไม่ คืนค่า True/False
Input-1
String a = "india" String b = "nidia"
Output
True
คำอธิบาย เนื่องจากสตริง 'b' มีตัวอักษรครบทุกตัวในสตริง 'a' จึงคืนค่า True
Input-2
String a = "hackathon" String b = "achcthoon"
Output
False
คำอธิบาย เนื่องจากสตริง 'b' ไม่มีตัวอักษรครบเหมือนสตริง 'a' จึงคืนค่า False
แนวทางแก้ปัญหา
- รับสตริงสองตัว 'a' และ 'b'
- ฟังก์ชัน checkStringAnagrams(a, b) คืน true ถ้าเป็นอะนากราม มิฉะนั้น false
- หาความยาวทั้งสองสตริง ตรวจสอบว่าเท่ากันหรือไม่
- เรียงตัวอักษรทั้งสองสตริงตามลำดับเลขคณิต ตรวจสอบว่าเท่ากันหรือไม่
- คืนค่า true หรือ false ตามลำดับ
ตัวอย่างโค้ด
function checkStringsAnagram(a, b) {
let len1 = a.length;
let len2 = b.length;
if(len1 !== len2) {
console.log('Invalid Input');
return;
}
let str1 = a.split('').sort().join('');
let str2 = b.split('').sort().join('');
if(str1 === str2) {
console.log("True");
} else {
console.log("False");
}
}
checkStringsAnagram("indian", "ndiani")
ผลลัพธ์
True
เนื่องจากสตริง 'indian' มีชุดตัวอักษรเดียวกับ 'ndiani' ทั้งคู่เป็นอะนากราม จึงคืนค่า True