Skip to content

Instantly share code, notes, and snippets.

@alimir1
Last active August 2, 2023 19:06
Show Gist options
  • Save alimir1/83b94be5fde4ef8b51ba6bf6044e78cd to your computer and use it in GitHub Desktop.
Save alimir1/83b94be5fde4ef8b51ba6bf6044e78cd to your computer and use it in GitHub Desktop.
Check if string is palindrome Swift 3
func isPalindrome(_ word: String) -> Bool {
let word = word.lowercased().characters.filter{ $0 != " " }
for (i, character) in word.enumerated() {
if character != word[word.count-i-1] {
return false
}
}
return true
}
@NateFuller
Copy link

NateFuller commented May 18, 2022

While loop implementation:

extension StringProtocol {
  subscript(_ offset: Int) -> Element { self[index(startIndex, offsetBy: offset)] }
}

func isPalindrome(_ input: String) -> Bool {
  guard input.count > 1 else { return true }
  var lhs = 0; var rhs = input.count - 1

  while lhs < rhs {
    guard input[lhs] == input[rhs] else { return false }

    lhs += 1; rhs -= 1
  }

  return true
}

@Gurwindersingh1992
Copy link

Anybody suggest how can achieve using high order func i.e Map or any ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment