栈、队列、字符串

栈、队列、字符串

2.判断单链表的全部n个字符串是否中心对称

  1. 令p来到单链表中间的方法
  • 法一:双指针(一个走一步,另一个走两步)
  • 法二:统计单链表中的元素个数,取n/2
  1. 判断奇数
if(n % 2 != 0){
	n是奇数
}
//判断单链表的全部n个字符串是否中心对称
bool fun(LNode *L){
	int n = 0;
	Stack S;
	init(S);
	LNode *p =L->next;
	while(p != null){
		n++;
		p = p->next;
	}//统计单链表元素个数
	p = L->next;
	for(int j=0; j<n/2; j++){
		push(S, p->data);
		p = p->next;
	}//前一半元素入栈
	if(n % 2 != 0){
		p = p->next;
	}
	while(p != null){
		if(pop(S) == p->data){
			p = p->next;
		}else{
			return false;
		}
	}//前一半元素出栈与后一半元素比较
	return true;
}

你可能感兴趣的:(数据结构代码题,数据结构)