# Longest Consecutive Duplicate String - Amazon Top Interview Questions

### Problem Statement :

```Given a lowercase alphabet string s, return the length of the longest substring with same characters.

Constraints

0 ≤ n ≤ 100,000 where n is the length of s
Example 1

Input

s = "abbbba"

Output
4

Explanation
The longest substring is "bbbb".

Example 2

Input
s = "aaabbb"
Output
3```

### Solution :

```                        ```Solution in C++ :

int solve(string s) {
int max = 0;
char curr = 0;
int count = 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] == curr) {
count++;
} else {
if (count > max) max = count;

curr = s[i];
count = 1;
}
}

return max > count ? max : count;
}```
```

```                        ```Solution in Java :

import java.util.*;

class Solution {
public int solve(String s) {
if (s.length() < 1) {
return 0;
}
int ans = 1, temp = 1;
for (int i = 1; i < s.length(); i++) {
if (s.charAt(i - 1) == s.charAt(i)) {
temp++;
} else {
ans = Math.max(temp, ans);
temp = 1;
}
}
ans = Math.max(temp, ans);
return ans;
}
}```
```

```                        ```Solution in Python :

class Solution:
def solve(self, s):
if not s:
return 0
tot = 1
size = 1
for ix in range(1, len(s)):
if s[ix] == s[ix - 1]:
size += 1
else:
tot = max(tot, size)
size = 1
tot = max(tot, size)
```

## Delete a Node

Delete the node at a given position in a linked list and return a reference to the head node. The head is at position 0. The list may be empty after you delete the node. In that case, return a null value. Example: list=0->1->2->3 position=2 After removing the node at position 2, list'= 0->1->-3. Function Description: Complete the deleteNode function in the editor below. deleteNo

## Print in Reverse

Given a pointer to the head of a singly-linked list, print each data value from the reversed list. If the given list is empty, do not print anything. Example head* refers to the linked list with data values 1->2->3->Null Print the following: 3 2 1 Function Description: Complete the reversePrint function in the editor below. reversePrint has the following parameters: Sing

Given the pointer to the head node of a linked list, change the next pointers of the nodes so that their order is reversed. The head pointer given may be null meaning that the initial list is empty. Example: head references the list 1->2->3->Null. Manipulate the next pointers of each node in place and return head, now referencing the head of the list 3->2->1->Null. Function Descriptio