Swift题解

maxHuiwenStr()

func maxHuiwenStr() {
    let str = readLine()!
    var array = [Character](str)
    var start = 0
    var end = 0
    var maxLen = 0
    for (index, _) in str.enumerated() {
        let len1 = expand(left: index, right: index, array: array)
        let len2 = expand(left: index, right: index + 1, array: array)
        let len = max(len1, len2)
        maxLen = max(len, maxLen)
    }
    print(maxLen)
}

func expand(left: Int, right: Int, array: [Character]) -> Int {
    var l = left
    var r = right
    while l >= 0, r < array.count, array[l] == array[r] {
        l -= 1
        r += 1
    }
    return r - l - 1
}