数据结构
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下
——老子
1
每日一练
1.已知:s ='(xyz)+*',t ='(x+z)*y'。试利用联结、求子串和置换等基本运算,将 s 转化为 t 。
正确答案
PS:||代表注释
1、题中所给操作的含义如下:
//:连接函数,将两个串连接成一个串
substr(s,i,j):取子串函数,从串s的第i个字符开始,取连续j个字符形成子串
replace(s1,i,j,s2):置换函数,用s2串替换s1串中从第i个字符开始的连续j个字符
本题有多种解法,下面是其中的一种:
(1) s1=substr(s,3,1) //取出字符:‘y’
(2) s2=substr(s,6,1) //取出字符:‘+’
(3) s3=substr(s,1,5) //取出子串:‘(xyz)’
(4) s4=substr(s,7,1) //取出字符:‘*’
(5) s5=replace(s3,3,1,s2)//形成部分串:‘(x+z)’
(6) s=s5//s4//s1 //形成串t即‘(x+z)*y’
富贵是无情之物,看得他重,他害你越大;贫贱是耐久之交,处得他好,他益你深。故贪商旅而恋金谷者,竟被一时之显戮;乐箪瓢而甘敝缊者,终享千载之令名。
-end-
长按关注
文 | 闫小林