INTUITIVE APPROACH (EASY)
IntuitionThe problem requires generating all possible combinations of a given length from a string of unique characters. Since combinations do not consider orde
# Intuition
The problem requires generating all possible combinations of a given length from a string of unique characters. Since combinations do not consider order and should not have duplicates, a recursive backtracking approach is well-suited.

PRE REQUISITE: YOU SHOULD KNOW HOW TO CREATE COMBINATIONS USING BACK TRACKING
# Approach
Sort the input string to maintain lexicographical order.

Use a recursive function (make) to generate all valid combinations of the specified length.

Store the combinations in a queue (deque) to efficiently retrieve elements in order.

The next method dequeues the next combination, while hasNext checks if there are any remaining combinations.

# Complexity
- Time complexity:
O(2^n) as we are generating combos

Query operations (next, hasNext) are 
𝑂(1)
- Space complexity:
O(nCk) as we are storing all combos of length n

# Code
```python3 []
from collections import deque
class CombinationIterator:
   
    def __init__(self, characters: str, combinationLength: int):
        self.combination = deque()
        self.s = ''.join(sorted(list(characters)))
        self.l = combinationLength

        # NO DUPES
        def make(ans, indi):
            if indi==len(self.s):
                if len(ans)==self.l:
                    self.combination.append(''.join(ans))
                return

            ans.append(self.s[indi])
            make(ans, indi+1)
            ans.pop()
            make(ans, indi+1)
        make([],0)

    def next(self) -> str:
        return self.combination.popleft()

    def hasNext(self) -> bool:
        if self.combination:
            return True
        else:
            return False
        


# Your CombinationIterator object will be instantiated and called as such:
# obj = CombinationIterator(characters, combinationLength)
# param_1 = obj.next()
# param_2 = obj.hasNext()
```
PLEASE UPVOTE IF YOU FOUND THIS HELPFUL
['String', 'Backtracking', 'Design', 'Iterator', 'Python3']