Given a string s and an integer k, return the length of the longest substring of s that contains at most k distinct characters. If k is 0, the answer is 0. The string may be empty. Your solution should run in O(n) time where n = len(s).
("eceba", 2)3