回文 stack

该博客介绍了如何利用栈数据结构来判断一个数字链表和字符串是否为回文。通过将链表元素或字符串字符依次压入栈中,然后逐个比较栈顶元素与当前元素是否相等,实现快速回文验证。这种方法适用于数字和字母的回文判断,具有较高的效率和简洁性。
摘要由CSDN通过智能技术生成

思路:

先全部入栈。然后依次出栈,和原始对比,是否相同

链栈-数字回文

	bool isPalindrome(ListNode* head) {
		stack<int>st;
		ListNode* cur = head;
		while (cur)
		{
			st.push(cur->val);
			cur = cur->next;
		}
		while (head)
		{
			if (head->val != st.top())
			{
				return false;
			}
			head = head->next;
			st.pop();
		}
		return true;
	}

顺序栈-字母回文

	bool judge(string str) {
		// write code here
		stack<char>st;
		for (auto c : str)
		{
			st.push(c);
		}
		for (auto c : str)
		{
			if (c != st.top())
			{
				return false;
			}
			st.pop();
		}
		return true;
	}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值