解题技巧
1、区分两种括号:
- 广义表的括号:如(3,2),参与到运算中
- 操作的括号:如GetHead(),GetTail(),不参与到运算中
2、GetHead时不加括号,GetTail时加括号
例题
GetHead( GetTail (GetHead ( ( a , b ) , ( c , d ) ) ) )
= GetHead( GetTail ( ( a ,b ) ) ) // 取 (a,b),(c,d)的表头是(a,b)
= GetHead( ( b ) ) //取 (a,b) 的表尾是b 需加括号变成(b)
= b //取 (b) 的表头是b
GetHead( GetTail ( ( a , b ) , ( c , d ) ) )
= GetHead( ( ( c , d ) ) ) // 取 (a,b),(c,d)的表尾是(c,d) 需加括号变成((c,d))
= (c,d) //取 ((c,d)) 的表头是(c,d)