type
status
date
slug
summary
tags
category
icon
password
在算法竞赛中,我们经常会遇到英文字母大小写转换的问题,下面我们就来具体介绍一下如何解决这个问题。

1.利用ASCII码转换

在python中有直接查看ASCII码的函数ord(),和将ASCII转化位字符的函数chr(),而我们知道大写字母和小写字母的ASCII码的数值相差32。因此我们可以利用这一点完成转化。
在C++中也有类似的函数,std::tolower和std::toupper。
此外,字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到储存单元,所以我们可以将字符强转成整形数。我们也可利用这一点完成转换。
下面附上ASCII码:
ASCII值
控制字符
ASCII值
控制字符
ASCII值
控制字符
ASCII值
控制字符
0
NUL
32
(space)
64
@
96
1
SOH
33
!
65
A
97
a
2
STX
34
"
66
B
98
b
3
ETX
35
#
67
C
99
c
4
EOT
36
$
68
D
100
d
5
ENQ
37
%
69
E
101
e
6
ACK
38
&
70
F
102
f
7
BEL
39
71
G
103
g
8
BS
40
(
72
H
104
h
9
HT
41
)
73
I
105
i
10
LF
42
*
74
J
106
j
11
VT
43
+
75
K
107
k
12
FF
44
76
L
108
l
13
CR
45
-
77
M
109
m
14
SO
46
.
78
N
110
n
15
SI
47
/
79
O
111
o
16
DLE
48
0
80
P
112
p
17
DCI
49
1
81
Q
113
q
18
DC2
50
2
82
R
114
r
19
DC3
51
3
83
S
115
s
20
DC4
52
4
84
T
116
t
21
NAK
53
5
85
U
117
u
22
SYN
54
6
86
V
118
v
23
TB
55
7
87
W
119
w
24
CAN
56
8
88
X
120
x
25
EM
57
9
89
Y
121
y
26
SUB
58
:
90
Z
122
z
27
ESC
59
;
91
[
123
{
28
FS
60
<
92
\
124
|
29
GS
61
=
93
]
125
}
30
RS
62
>
94
^
126
`
31
US
63
?
95
_
127
DEL

2.利用位运算和空格字符

在ASCII码中,英文字母对应的二进制的第六位表示大小写,该位为0时表示大写,为1时表示小写。,空格的ASCII码又恰好为32。
 
E 漂亮数组时间复杂度与对拍
Serendipity
Serendipity
From CCNU
Announcement
type
status
date
slug
summary
tags
category
icon
password
本网站部署于国外服务器,国内访问较慢。多刷新或挂梯子。