Skip to content

Commit 10b43c6

Browse files
committed
feat: add solutions to lc problems: No.1392
No.1392.Longest Happy Prefix
1 parent 2d15be9 commit 10b43c6

File tree

4 files changed

+80
-0
lines changed

4 files changed

+80
-0
lines changed

solution/1300-1399/1392.Longest Happy Prefix/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,36 @@ func longestPrefix(s string) string {
156156
}
157157
```
158158

159+
### **TypeScript**
160+
161+
```ts
162+
function longestPrefix(s: string): string {
163+
const n = s.length;
164+
for (let i = n - 1; i >= 0; i--) {
165+
if (s.slice(0, i) === s.slice(n - i, n)) {
166+
return s.slice(0, i);
167+
}
168+
}
169+
return '';
170+
}
171+
```
172+
173+
### **Rust**
174+
175+
```rust
176+
impl Solution {
177+
pub fn longest_prefix(s: String) -> String {
178+
let n = s.len();
179+
for i in (0..n).rev() {
180+
if s[0..i] == s[n - i..n] {
181+
return s[0..i].to_string();
182+
}
183+
}
184+
String::new()
185+
}
186+
}
187+
```
188+
159189
### **...**
160190

161191
```

solution/1300-1399/1392.Longest Happy Prefix/README_EN.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,36 @@ func longestPrefix(s string) string {
132132
}
133133
```
134134

135+
### **TypeScript**
136+
137+
```ts
138+
function longestPrefix(s: string): string {
139+
const n = s.length;
140+
for (let i = n - 1; i >= 0; i--) {
141+
if (s.slice(0, i) === s.slice(n - i, n)) {
142+
return s.slice(0, i);
143+
}
144+
}
145+
return '';
146+
}
147+
```
148+
149+
### **Rust**
150+
151+
```rust
152+
impl Solution {
153+
pub fn longest_prefix(s: String) -> String {
154+
let n = s.len();
155+
for i in (0..n).rev() {
156+
if s[0..i] == s[n - i..n] {
157+
return s[0..i].to_string();
158+
}
159+
}
160+
String::new()
161+
}
162+
}
163+
```
164+
135165
### **...**
136166

137167
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
impl Solution {
2+
pub fn longest_prefix(s: String) -> String {
3+
let n = s.len();
4+
for i in (0..n).rev() {
5+
if s[0..i] == s[n - i..n] {
6+
return s[0..i].to_string();
7+
}
8+
}
9+
String::new()
10+
}
11+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
function longestPrefix(s: string): string {
2+
const n = s.length;
3+
for (let i = n - 1; i >= 0; i--) {
4+
if (s.slice(0, i) === s.slice(n - i, n)) {
5+
return s.slice(0, i);
6+
}
7+
}
8+
return '';
9+
}

0 commit comments

Comments
 (0)