Skip to content

Commit 29fd5de

Browse files
committed
feat: add solutions to lc problem: No.0168. Excel Sheet Column Title
1 parent 40f80d2 commit 29fd5de

File tree

5 files changed

+91
-34
lines changed

5 files changed

+91
-34
lines changed

solution/0100-0199/0168.Excel Sheet Column Title/README.md

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# [168. Excel表列名称](https://leetcode-cn.com/problems/excel-sheet-column-title)
1+
# [168. Excel 表列名称](https://leetcode-cn.com/problems/excel-sheet-column-title)
22

33
[English Version](/solution/0100-0199/0168.Excel%20Sheet%20Column%20Title/README_EN.md)
44

@@ -38,7 +38,6 @@
3838
<strong>输出:</strong> &quot;ZY&quot;
3939
</pre>
4040

41-
4241
## 解法
4342

4443
<!-- 这里可写通用的实现逻辑 -->
@@ -50,15 +49,48 @@
5049
<!-- 这里可写当前语言的特殊实现逻辑 -->
5150

5251
```python
53-
52+
class Solution:
53+
def convertToTitle(self, columnNumber: int) -> str:
54+
res = []
55+
while columnNumber:
56+
columnNumber -= 1
57+
res.append(chr(ord('A') + columnNumber % 26))
58+
columnNumber //= 26
59+
return ''.join(res[::-1])
5460
```
5561

5662
### **Java**
5763

5864
<!-- 这里可写当前语言的特殊实现逻辑 -->
5965

6066
```java
67+
class Solution {
68+
public String convertToTitle(int columnNumber) {
69+
StringBuilder res = new StringBuilder();
70+
while (columnNumber != 0) {
71+
--columnNumber;
72+
res.append((char) ('A' + columnNumber % 26));
73+
columnNumber /= 26;
74+
}
75+
return res.reverse().toString();
76+
}
77+
}
78+
```
6179

80+
### **C#**
81+
82+
```cs
83+
public class Solution {
84+
public string ConvertToTitle(int columnNumber) {
85+
StringBuilder res = new StringBuilder();
86+
while (columnNumber != 0) {
87+
--columnNumber;
88+
res.Append((char) ('A' + columnNumber % 26));
89+
columnNumber /= 26;
90+
}
91+
return new string(res.ToString().Reverse().ToArray());
92+
}
93+
}
6294
```
6395

6496
### **...**

solution/0100-0199/0168.Excel Sheet Column Title/README_EN.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,53 @@ AB -&gt; 28
5555
<li><code>1 &lt;= columnNumber &lt;= 2<sup>31</sup> - 1</code></li>
5656
</ul>
5757

58-
5958
## Solutions
6059

6160
<!-- tabs:start -->
6261

6362
### **Python3**
6463

6564
```python
66-
65+
class Solution:
66+
def convertToTitle(self, columnNumber: int) -> str:
67+
res = []
68+
while columnNumber:
69+
columnNumber -= 1
70+
res.append(chr(ord('A') + columnNumber % 26))
71+
columnNumber //= 26
72+
return ''.join(res[::-1])
6773
```
6874

6975
### **Java**
7076

7177
```java
78+
class Solution {
79+
public String convertToTitle(int columnNumber) {
80+
StringBuilder res = new StringBuilder();
81+
while (columnNumber != 0) {
82+
--columnNumber;
83+
res.append((char) ('A' + columnNumber % 26));
84+
columnNumber /= 26;
85+
}
86+
return res.reverse().toString();
87+
}
88+
}
89+
```
7290

91+
### **C#**
92+
93+
```cs
94+
public class Solution {
95+
public string ConvertToTitle(int columnNumber) {
96+
StringBuilder res = new StringBuilder();
97+
while (columnNumber != 0) {
98+
--columnNumber;
99+
res.Append((char) ('A' + columnNumber % 26));
100+
columnNumber /= 26;
101+
}
102+
return new string(res.ToString().Reverse().ToArray());
103+
}
104+
}
73105
```
74106

75107
### **...**
Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,11 @@
1-
using System.Collections.Generic;
2-
using System.Linq;
3-
using System.Text;
4-
51
public class Solution {
6-
public string ConvertToTitle(int n) {
7-
var list = new List<char>();
8-
while (n > 0)
9-
{
10-
var x = n % 26;
11-
if (x == 0) x = 26;
12-
list.Add((char)('A' + x - 1));
13-
n = (n - x) / 26;
2+
public string ConvertToTitle(int columnNumber) {
3+
StringBuilder res = new StringBuilder();
4+
while (columnNumber != 0) {
5+
--columnNumber;
6+
res.Append((char) ('A' + columnNumber % 26));
7+
columnNumber /= 26;
148
}
15-
var sb = new StringBuilder();
16-
for (var i = list.Count - 1; i >= 0; --i)
17-
{
18-
sb.Append(list[i]);
19-
}
20-
return sb.ToString();
9+
return new string(res.ToString().Reverse().ToArray());
2110
}
2211
}
Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
class Solution {
2-
public String convertToTitle(int n) {
3-
if (n < 0) {
4-
return "";
5-
}
6-
StringBuilder sb = new StringBuilder();
7-
while (n > 0) {
8-
n--;
9-
int temp = n % 26;
10-
sb.insert(0,(char)(temp + 'A'));
11-
n /= 26;
2+
public String convertToTitle(int columnNumber) {
3+
StringBuilder res = new StringBuilder();
4+
while (columnNumber != 0) {
5+
--columnNumber;
6+
res.append((char) ('A' + columnNumber % 26));
7+
columnNumber /= 26;
128
}
13-
return sb.toString();
9+
return res.reverse().toString();
1410
}
1511
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Solution:
2+
def convertToTitle(self, columnNumber: int) -> str:
3+
res = []
4+
while columnNumber:
5+
columnNumber -= 1
6+
res.append(chr(ord('A') + columnNumber % 26))
7+
columnNumber //= 26
8+
return ''.join(res[::-1])

0 commit comments

Comments
 (0)