709. To Lower Case
EasyView on LeetCode
Time: O(n)
Space: O(n)
Advertisement
Intuition
For each character, if it's uppercase (A-Z), convert to lowercase by adding 32 (or OR with 32).
Algorithm
- 1For each char c: if c is between A and Z, result += (char)(c + 32). Else result += c.
Common Pitfalls
- •Or simply use String.toLowerCase(). For manual: uppercase letters are ASCII 65-90, lowercase 97-122.
709.cs
C#
// Approach: Iterate over the char array; subtract the ASCII difference
// ('A'-'a') from each uppercase letter.
// Time: O(n) Space: O(n)
public class Solution
{
public string ToLowerCase(string s)
{
int diff = 'A' - 'a';
char[] ans = s.ToCharArray();
for (int i = 0; i < ans.Length; ++i)
{
if (ans[i] >= 'A' && ans[i] <= 'Z')
ans[i] -= (char)diff;
}
return new string(ans);
}
}Advertisement
Was this solution helpful?