This paper investigates the resource allocation problem in heterogeneous cognitive radio networks (HCRNs). In this paper, two types of users, i.e., multi-homing and single-network cognitive radio users (CRUs), are considered to coexist in HCRNs. Multi-homing CRUs can access multiple networks simultaneously, while single-network CRUs can be served by only one network at a time. With the aim of maximizing the system capacity of HCRNs, the resource allocation problem is formulated as a joint multi-dimension optimization problem which includes network selection, bandwidth and power allocation for both multi-homing and single-network CRUs. However, the joint multi-dimension optimization leads the problem to be non-convex and NP-hard. To solve the problem efficiently, continuous relaxation is performed firstly, and next a near-optimal solution using Lagrangian dual decomposition and Karush-Kuhn-Tucker (KKT) conditions is proposed in this paper. Numerical results show the proposed algorithm improves the system capacity significantly compared to the traditional ones.