// Created on savesnippets.com · https://savesnippets.com/GQW0tOHS7Aamvl // Extension function on String fun String.isPalindrome(): Boolean = this == this.reversed() // Extension function on List fun List.median(): Double { val s = sorted() val n = s.size return if (n % 2 == 0) (s[n/2 - 1] + s[n/2]) / 2.0 else s[n/2].toDouble() } // Nullable receiver — handle the null case inside the extension fun String?.isNullOrBlankSafely(): Boolean = this == null || this.isBlank() fun main() { println("racecar".isPalindrome()) // true println("hello".isPalindrome()) // false println(listOf(1, 3, 5, 7, 9).median()) // 5.0 println(listOf(1, 2, 3, 4).median()) // 2.5 val s: String? = null println(s.isNullOrBlankSafely()) // true }