数据结构
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下
——老子
1
每日一练
1.下列程序判断字符串 s 是否对称,对称则返回 1,否则返回 0;如 f("abba")返回 1,f("abab")返回
0;
int f((1)________)
{int i=0,j=0;
while (s[j])(2)________;
for(j--; i<j && s[i]==s[j]; i++,j--);
return((3)_______)
}
2.完善算法:求 KMP 算法中 next 数组。
PROC get _next(t:string,VAR next:ARRAY[1..t.len] OF integer);
BEGIN
j:=1; k:=(1)__; next[1]:=0;
WHILE j<t.len DO
IF k=0 OR t.ch[j]=t.ch[k] THEN BEGIN j:=j+1; k:=k+1; next[j]:=k;END
ELSE k:=(2)___;
END
正确答案
PS:||代表注释
1.(1) char s[ ] (2) j++ (3) i >= j
2.(1)0 (2)next[k]
毁人者不美,而受人毁者遭一番讪谤便加一番修省,可释回而增美;欺人者非福,而受人欺者遇一番横逆便长一番器宇,可以转祸而为福。
天欲祸人,必先以微福骄之,所以福来不必喜,要看他会受;天欲福人,必先以微祸儆之,所以祸来不必忧,要看他会救。