Practice
Resources
Contests
Online IDE
New
Free Mock
Events New Scaler
Practice
Improve your coding skills with our resources
Contests
Compete in popular contests with top coders
logo
Events
Attend free live masterclass hosted by top tech professionals
New
Scaler
Explore Offerings by SCALER

Unequal Ancestor

Problem Description

You are given a binary tree having N nodes and having root node A. Each node in the tree has either 0 or 1 value.

Kth ancestor of a node V is defined as:

  • If K >= 1, (K-1)th ancestor of the parent of node V.
  • If K = 0, the node V itself.

    For a given integer B, You have to find the number of ordered pair of nodes (X, Y) such that node X is the B th ancestor of node Y and values of nodes X and Y are <!--complementary--> not equal to each other.

    <!--

    You have to find the number of nodes having their Kth ancestor value complementary to their value.

    -->



  • Problem Constraints

    1 <= N <= 105

    0 <= B <= 105

    Value of each node is either 0 or 1.



    Input Format

    First argument is the root node of the binary tree A.

    Second argument is an integer B.



    Output Format

    Return the number of such ordered pairs.



    Example Input

    Input 1:

               1
    / \
    0 0
    /
    1
    B = 1

    Input 2:

                 1
    / \
    0 0
    / \
    1 0
    / \
    1 1
    B = 2



    Example Output

    Output 1:

     3 

    Output 2:

     3 



    Example Explanation

    Explanation 1:

     values:    1            node numbers:   1
               / \                          / \
              0   0                        2   3
             /                            /
            1                            4
     Ordered node pairs (1, 2) , (1, 3) and (2, 4) are desired pairs. 
    

    Explanation 2:

     values:      1          node numbers:    1
    / \ / \ 0 0 2 3 / \ / \ 1 0 4 5 / \ / \ 1 1 6 7 Ordered node pairs (1, 4) , (2, 6) and (2, 7) are desired pairs.



    NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a question? Checkout Sample Codes for more details.
    Start solving Unequal Ancestor on Interview Code Editor
    Hints
    • Hint 1
    • Solution Approach
    • Complete Solution

    Discussion


    Loading...
    Click here to start solving coding interview questions
    Free Mock Assessment
    Fill up the details for personalised experience.
    Phone Number *
    OTP will be sent to this number for verification
    +1 *
    +1
    Change Number
    Graduation Year *
    Graduation Year *
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    *Enter the expected year of graduation if you're student
    Current Employer
    Company Name
    College you graduated from
    College/University Name
    Job Title
    Job Title
    Engineering Leadership
    Software Development Engineer (Backend)
    Software Development Engineer (Frontend)
    Software Development Engineer (Full Stack)
    Data Scientist
    Android Engineer
    iOS Engineer
    Devops Engineer
    Support Engineer
    Research Engineer
    Engineering Intern
    QA Engineer
    Co-founder
    SDET
    Product Manager
    Product Designer
    Backend Architect
    Program Manager
    Release Engineer
    Security Leadership
    Database Administrator
    Data Analyst
    Data Engineer
    Non Coder
    Other
    Please verify your phone number
    Edit
    Resend OTP
    By clicking on Start Test, I agree to be contacted by Scaler in the future.
    Already have an account? Log in
    Free Mock Assessment
    Instructions from Interviewbit
    Start Test