找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 妮可
收起左侧

[Facebook] Facebook Interview Question for

[复制链接]

1194

主题

191

精华

3785

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3785
发表于 9-10-2018 08:38 AM | 显示全部楼层

A code finding the next leave, ]' Y2 }# m. v' w: L; p! ~
/ k* d0 \! o- w5 Q3 \
PITM nxtleave(PITM p)
7 z4 f) d8 C8 ^! y{
) X+ l0 n  y, s/ b PITM d;
; l, r) S! E3 y, o if((p->l==0)&&(p->r==0)) return p;& ^4 B- [6 t6 F
 if(p->l)
3 f4 n7 |5 Y! O1 m6 C% P  G {
* r/ e$ p" h( d, P, a/ }   if(p->r)1 r( o4 n, c+ s2 I$ m. f; F
	push(p->r);" S5 ~/ t" R7 D+ \
   d=nxtleave(p->l);. {+ R+ s, g  |5 U
   if(d!=0)
8 V, Q6 {- s' ?- j% R! c    return d;1 H7 e7 c5 n$ S; I* M, C
 } else 
% t3 `2 ], l$ B( m+ Q% o  m  Z if(p->r)+ C7 w, Z( W' t! S* [/ a
 {
0 b. I/ c$ A$ D9 z5 A   d=nxtleave(p->r);% ]5 m% C9 A4 w# _, D
   if(d!=0)
6 C9 R* H4 e  Q) q     return d;
# M: v5 o# s# I0 v' @6 Q3 f }
  E/ x- \' y  u* L return 0;! u, }- k( L& q2 R
}: I7 H# ?# M: C7 `, ~$ H
) P7 X' e) s& i
--- caller
8 S. n8 M  V+ o5 R$ S0 Y0 U	nxta=vroot;
; T7 X$ B) q. p( s9 X; f5 M! e	while(nxta)7 R% B8 f# Y0 e+ _- ]6 d
	{
+ m3 H- I: e7 h: o	 p=nxtleave(nxta);
4 t; x- H4 x! N( ^  l. C0 U	 nxta=pop();
2 T9 y/ Q/ A  j5 F: O+ [; l( @8 o	}
+ K- U( h- e, o3 C$ R6 Z5 W' m- e9 u2 e4 Y0 r) L
---

1088

主题

138

精华

3189

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3189
发表于 9-10-2018 08:38 AM | 显示全部楼层

PITM nextleave(PITM p)
- I+ _! W* h! [: N  T) @, i" {{% c; a7 p* j9 h( \9 l- c) C7 u3 H
	PITM d;
" V& g( c0 E# L+ G8 N
/ K& u# V% T, i) Z$ U	if(p->l)" E; C3 o, X5 C( [& [3 X; @) ^
	{( r0 c/ K+ H( v) B+ |. M# P3 ~
		if(p->r) push(p->r);4 a7 {& o9 R; f8 f4 b( H
		return nextleave(p->l);
7 `& q% A4 a: l+ D	} 
. @1 H$ A3 I% z* k! `# B+ V	if (p->r): U1 m! Q& A1 `) q
	{0 @6 E8 s: w8 p$ E
		return nextleave(p->r);
2 k8 L1 ]. C: n" s	}
1 l4 v9 i; C: {( D" v5 c	return p;: _0 n/ F2 a* \) w2 ]. |2 S
}
# _0 r0 D; W( ICaller...while(p)7 T+ e% L  [  B( s+ F9 C
	{3 F$ o! s  p$ d5 ?) k! O
		d=nextleave(p);
% S+ ?* h' k, t2 @- @$ o- C		if(d) printf("%d ",d->val);% N1 ?9 _1 X. ~* a' F' X
		p=pop();9 _' n0 b7 @7 V% O2 y& }1 X7 x& |
	}

1183

主题

200

精华

3760

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3760
发表于 9-10-2018 08:38 AM | 显示全部楼层

PITM nextleaf(PITM p)
6 r) A+ A4 U! \{/ C/ Y: n6 u8 u
 if(p->l)
# o- q, r; v# b {- H2 }; r# k% J2 `( c* T$ K
   if(p->r) push(p->r);, m3 \9 P9 K8 P! k
   return nextleaf(p->l);
% W" [( n8 {5 Y# B; f5 V9 u }. |) x; w3 O6 q
 if(p->r)2 |9 Z1 J) o% }1 n
 {
8 q9 g' q3 a& f( K; B, s3 ?   return nextleaf(p->r);
3 r$ D6 P" R" V' I }
9 ^: V6 K, o! I1 Q4 _ return p;0 e5 h9 l" D' U; H
}
7 d" t1 o3 j9 s/ K
/ `9 k1 ^4 J# D; F) kCaller.... 1 D8 T  z. G) I) P7 \. t
while(p)+ a! o6 o4 }2 {, D# V7 z
	{$ T0 ~: K' h. L* P- w8 n- e
		d=nextleaf(p);- O( P7 Y7 b& L% q9 F( C
		p=pop();
+ Z- U- ^% Q; k# I/ x	}

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表