X. Perform String Shifts

Easy

You are given a string s containing lowercase English letters, and a matrix shift, where shift[i] = [direction, amount]: 1. direction can be 0 (for left shift) or 1 (for right shift). 2. amount is the amount by which string s is to be shifted. 3. A left shift by 1 means remove the first character of s and append it to the end. 4. Similarly, a right shift by 1 means remove the last character of s and add it to the beginning. Return the final string after all operations.

😇 Solution

class Solution:
    def stringShift(self, s: str, shift: List[List[int]]) -> str:
        
        for i in range(len(shift)):
            direction,amount = shift[i]
            
            if direction == 0:
                s = s[amount:]+s[:amount]
            
            if direction == 1:
                s = s[-amount:] + s[:-amount]
        
        return s

Last updated

Was this helpful?