Java | JavaScript | TypeScript | C++ | C# | Kotlin | Go Solution.
Java []\npublic class Solution {\n\n    public String makeSmallestPalindrome(String s) {\n        char[] lexicographicallySmallestPalindrome = s.toCharArray();\
```Java []\npublic class Solution {\n\n    public String makeSmallestPalindrome(String s) {\n        char[] lexicographicallySmallestPalindrome = s.toCharArray();\n        int left = 0;\n        int right = lexicographicallySmallestPalindrome.length - 1;\n\n        while (left < right) {\n            if (lexicographicallySmallestPalindrome[left] < lexicographicallySmallestPalindrome[right]) {\n                lexicographicallySmallestPalindrome[right] = lexicographicallySmallestPalindrome[left];\n            } else {\n                lexicographicallySmallestPalindrome[left] = lexicographicallySmallestPalindrome[right];\n            }\n            ++left;\n            --right;\n        }\n        return String.valueOf(lexicographicallySmallestPalindrome);\n    }\n}\n```\n```JavaScript []\n/**\n * @param {string} s\n * @return {string}\n */\nvar makeSmallestPalindrome = function (s) {\n    const lexicographicallySmallestPalindrome = s.split(\'\');\n    let left = 0;\n    let right = lexicographicallySmallestPalindrome.length - 1;\n\n    while (left < right) {\n        if (lexicographicallySmallestPalindrome[left] < lexicographicallySmallestPalindrome[right]) {\n            lexicographicallySmallestPalindrome[right] = lexicographicallySmallestPalindrome[left];\n        } else {\n            lexicographicallySmallestPalindrome[left] = lexicographicallySmallestPalindrome[right];\n        }\n        ++left;\n        --right;\n    }\n    return lexicographicallySmallestPalindrome.join(\'\');\n};\n```\n```TypeScript []\nfunction makeSmallestPalindrome(s: string): string {\n    const lexicographicallySmallestPalindrome: string[] = s.split(\'\');\n    let left = 0;\n    let right = lexicographicallySmallestPalindrome.length - 1;\n\n    while (left < right) {\n        if (lexicographicallySmallestPalindrome[left] < lexicographicallySmallestPalindrome[right]) {\n            lexicographicallySmallestPalindrome[right] = lexicographicallySmallestPalindrome[left];\n        } else {\n            lexicographicallySmallestPalindrome[left] = lexicographicallySmallestPalindrome[right];\n        }\n        ++left;\n        --right;\n    }\n    return lexicographicallySmallestPalindrome.join(\'\');\n};\n```\n```C++ []\n#include <string>\nusing namespace std;\n\nclass Solution {\n\npublic:\n    string makeSmallestPalindrome(string s) const {\n        string lexicographicallySmallestPalindrome = move(s);\n        size_t left = 0;\n        size_t right = lexicographicallySmallestPalindrome.size() - 1;\n\n        while (left < right) {\n            if (lexicographicallySmallestPalindrome[left] < lexicographicallySmallestPalindrome[right]) {\n                lexicographicallySmallestPalindrome[right] = lexicographicallySmallestPalindrome[left];\n            }\n            else {\n                lexicographicallySmallestPalindrome[left] = lexicographicallySmallestPalindrome[right];\n            }\n            ++left;\n            --right;\n        }\n        return lexicographicallySmallestPalindrome;\n    }\n};\n```\n```C# []\nusing System;\n\npublic class Solution\n{\n    public string MakeSmallestPalindrome(string s)\n    {\n        char[] lexicographicallySmallestPalindrome = s.ToCharArray();\n        int left = 0;\n        int right = lexicographicallySmallestPalindrome.Length - 1;\n\n        while (left < right)\n        {\n            if (lexicographicallySmallestPalindrome[left] < lexicographicallySmallestPalindrome[right])\n            {\n                lexicographicallySmallestPalindrome[right] = lexicographicallySmallestPalindrome[left];\n            }\n            else\n            {\n                lexicographicallySmallestPalindrome[left] = lexicographicallySmallestPalindrome[right];\n            }\n            ++left;\n            --right;\n        }\n        return String.Join("", lexicographicallySmallestPalindrome);\n    }\n}\n```\n```Kotlin []\nclass Solution {\n    fun makeSmallestPalindrome(s: String): String {\n        val lexicographicallySmallestPalindrome = s.toCharArray()\n        var left = 0\n        var right = lexicographicallySmallestPalindrome.size - 1\n\n        while (left < right) {\n            if (lexicographicallySmallestPalindrome[left] < lexicographicallySmallestPalindrome[right]) {\n                lexicographicallySmallestPalindrome[right] = lexicographicallySmallestPalindrome[left]\n            } else {\n                lexicographicallySmallestPalindrome[left] = lexicographicallySmallestPalindrome[right]\n            }\n            ++left\n            --right\n        }\n        return String(lexicographicallySmallestPalindrome)\n    }\n}\n```\n```Go []\npackage main\n\nimport "fmt"\n\nfunc makeSmallestPalindrome(s string) string {\n    lexicographicallySmallestPalindrome := []byte(s)\n    left := 0\n    right := len(lexicographicallySmallestPalindrome) - 1\n\n    for left < right {\n        if lexicographicallySmallestPalindrome[left] < lexicographicallySmallestPalindrome[right] {\n            lexicographicallySmallestPalindrome[right] = lexicographicallySmallestPalindrome[left]\n        } else {\n            lexicographicallySmallestPalindrome[left] = lexicographicallySmallestPalindrome[right]\n        }\n        left++\n        right--\n    }\n    return string(lexicographicallySmallestPalindrome)\n}\n```
['C++', 'Java', 'Go', 'TypeScript', 'Kotlin', 'JavaScript', 'C#']