Как вставить половину стека в другой стек

До 3.2.6 Mongodb не поддерживает запрос соединения как mysql. ниже решения, которое работает для вас.

 db.getCollection('comments').aggregate([
        {$match : {pid : 444}},
        {$lookup: {from: "users",localField: "uid",foreignField: "uid",as: "userData"}},
   ])
-1
задан Strom 17 March 2019 в 22:09
поделиться

1 ответ

Итак, даны два стековых объекта, которые вначале не содержат значения:

Stack stOne, stTwo;

Предполагая, что вы реализовали ::size(), ::push(), ::pop(), где pop возвращает значение, хранящееся в верхней части стека, для вашего стека объекты, вы хотите вставить все символы вашей заданной строки в stOne. Затем вам нужно будет вытолкнуть stOne на stOne.size()/2 количество раз и вставить символы в stTwo:

void solvePalindrome(std::string str){
    for(int i=0; i<str.size(); i++){
        stOne.push(str[i]);
    }
    for(int i=0; i<stOne.size()/2; i++){
        stTwo.push(stOne.pop());
    }
    //do your comparison here
}

В качестве альтернативы, вы можете напрямую использовать str.size () / 2 вместо stOne .size () / 2, если вы еще не реализовали ::size().

Примечание. Если в строке есть неравномерное количество символов, она будет округляться (пол) stOne.size () / 2. Весь код в CPP.

0
ответ дан pr0f3ss 17 March 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: