건수와 잎 노드의 개수 1398
묘사
두 갈래 나무의 광의표 표시 방법을 제시하려면 두 갈래 체인표의 방식으로 두 갈래 나무를 세워 주십시오.나무의 잎 노드 수를 출력합니다.
빈 나무 상황은 고려하지 않는다!
#include<iostream>
#include<stack>
using namespace std;
#define MAX(a,b) a>b?a:b;
typedef struct Node
{
char data;
Node *left;
Node *right;
}*pBTNode, BTNode;
void CreateBTree(pBTNode &root, char str[])
{
pBTNode p=NULL, temp=NULL;
stack<pBTNode> st;
int i, flag, top=-1;
for(i=0; str[i]!='\0'; i++)
{
switch( str[i] )
{
case '(':flag=1;st.push(p);break;// , , ;
case ',':flag=2;break;// ,
case ')':st.pop();break;// , ,
default:
p=new BTNode;
p->data=str[i]; p->left=p->right=NULL;
if( root==NULL ) root=p;
else
{
temp=st.top();
switch(flag)
{
case 1:temp->left=p;break;
case 2:temp->right=p; break;
}
}
}
}
}
int Num(pBTNode p)
{
if( p==NULL ) return 0;
if( p->left==NULL && p->right==NULL )
return 1;
return Num(p->left)+Num(p->right);
}
int main()
{
char str[1000];
BTNode *root=NULL;
int t;
cin>>t;
while( t-- )
{
cin>>str;
root=NULL;
CreateBTree(root, str);
cout<<Num(root)<<endl;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.