次のコードを見て、アルゴリズムの手順を教えてください。
def longest_palindrome(s):
    length = len(s)
    palindrome = ""
    
    for i in range(length):
        for j in range(i+1,length+1):
            substring = s[i:j]
            if substring == substring[::-1] and len(substring)>len(palindrome):
                palindrome = substring
    return palindrome
アルゴリズムの手順は次のとおりです：

1. 文字列 S の長さを取得する。
2. palindromeに空文字列を代入する。
3. 0からSの長さ-1までのループを開始し、iを取得する。
4. i+1からSの長さまでのループを開始し、jを取得する。
5. Sのi番目からj番目までの文字で抽出した文字列を正順と逆順で比較する。もしそれらが一致した場合、それより前に抽出したpalindromeよりサイズが大きい場合は、palindromeを更新する。
6. palindromeを返す。