
(defun generiereListe (zeichenkette &aux i liste)
    (setq i 0)(setq liste nil)
    (while (< i  (strlen zeichenkette))
          (setq liste (cons (substr zeichenkette i 1) liste))
          (setq i (+ i 1)))
liste)

(defun vertausche (liste1 liste2)
    (cond ((null liste1) liste2)
          (t (setq liste2 (cons (car liste1) liste2))
             (vertausche (cdr liste1) liste2))))

(defun palindrom (zeichenkette &aux merke)
  (setq merke (generiereListe zeichenkette))
  (equal merke (vertausche merke nil)))