判定字串是否按照出棧順序

2021-08-19 10:03:31 字數 637 閱讀 3135

判斷乙個字串是否可以通過另乙個字串通過棧變換得到

假設:源字串:src  目標字串:dst

判斷規則:

如果相等,p_dst++,並且棧頂元素出棧

如果不相等,在p_src != 0的情況下,再將p_src對應的元素入棧,然後再取棧頂元素與p_dst對用的元素比較,如果相等,p_dst++,並且棧頂元素出棧,重複此動作

如果棧中沒有元素,則可以通過棧變換得到

如果棧中有元素,則不可以通過棧變換的到

**如下:

#include"seqstack.h"

#includeint convert(char* dst, char* src, int len_src, int len_dst)

if(len_src != len_dst)

seqstack stack;

seqstackinit(&stack);

int i = 0;

int j = 0;

stacktype top_value;

for(; i**中使用之前寫過的seqstack.h和seqstack.c

資料結構 判定字串是否按照出棧順序

中所引用標頭檔案源自之前的一篇的完成順序棧與鏈式棧部落格。題目解析如下 本想用 0 來判定ouput陣列是否到達末尾,可是不能得到正確結果 暫用 0 插入output陣列尾端代替判定條件 if output 0 return 1 else return 0 int main int ret stac...

fastJson按照字串順序遍歷JSON欄位

原文 fastjson在把json格式的字串轉換成jsonobject的時候,使用的是hashmap,所以排序規則是根據hash值排序的,如果想要按照字串順序遍歷json屬性,需要在轉換的時候指定使用linkedhashmap代替hashmap。public static void main str...

字串T按照字串S的順序進行排序

描述 字串s和t只包含小寫字元。在s中,所有字元只會出現一次。s已經根據某種規則進行了排序,我們要根據s中的字元順序對t進行排序。更具體地說 如果s中x在y之前,那麼返回的字串中x也應該出現在y之前。返回任意一種符合條件的字串。例 輸入 s cba t abcd 輸出 cbad 由於只有小寫字元,則...